Automatisierte Backup-Strategie mit Laravel

vom 7. Oktober 2018 zu den Themen Laravel

Regelmäßige System-Updates und sicherheitsbewusste Entwicklung sollte heute für jede Entwicklungsfirma zum täglichen Ablauf gehören. Doch leider ist es meist nicht möglich, sich 100% gegen externe Angriffe oder Datenverlust aus andere Gründen zu schützen. Um in der Worse-Case-Situation einer langen Ausfallzeit entgegenzuwirken empfehlen wir eine gut durchdachte Backup-Strategie.

Backup-Strategie mit Laravel

Für die diversen CM-System wie z.B. WordPress, Joomla, Craft CMS & Co. gibt es einige Backup-Plugins und Services die man in Anspruch nehmen kann. Aber auch oder vor allem Laravel bietet durch die Erweiterung laravel-backup eine geniale Lösung für eine voll-automatische und flexible Sicherungsstrategie.

Funktionen im Überblick

Sicherung des gesamten System

Eine Sicherung wird durch eine Zip-Datei dargstellt. Diese beinhaltet alle Dateien Ihrer Web-Lösung inklusive einer Datenbanksicherung. Mit dieser Zip-Datei können Sie das gesamte System durch Entpacken jederzeit und auf einem beliebigen Server wiederherstellen.

Datei-System Ihrer Wahl

Ein geniales Feature dieser Erweiterung ist die Möglichkeit, das Backup auf verschiedenen Datei-Systemen bzw. Online-Speichern abzulegen. Dafür wird das hauseigene Datei-System von Laravel genutzt. Online-Speicher, welche genutzt werden können, sind zum Beispiel: SFTP, Amazon S3, Rackspace, Dropbox, Microsoft OneDrive und einige mehr...

Das Schöne hieran ist, dass die Backups auch gleichzeitig auf mehreren Dateisystemen abgelegt werden können.

Benachrichtigungen

Es ist extrem wichtig, benachrichtigt zu werden, falls es bei der Sicherung ein Problem gibt. Ein denkbares Szenario für solch ein Fall wäre z.B., wenn nach einiger Zeit das Speicherkapazität des Dateisystems überschritten werden. Sie können sich zusätzlich zu fehlgeschlagenen Sicherungen auch über diverse andere Ereignise benachrichten lassen: Beschädigte Sicherung wurde gefunden, Aufräumen fehlgeschlagen, Sicherung war erfolgreich und Aufräumen war erfolgreich.

Die Entwickler von laravel-backup ermöglichen standardmäßig die Benachrichtigungen per E-Mail oder über Slack zu versenden. Es können auch weitere Kanäle implementiert werden. Teilen Sie uns einfach mit, welche Kanäle Sie bevorzugen.

Integration der Backupstrategie

Die Erweiterung ist unter der sogenannten Postcardware-Lizenz veröffentlicht. Somit kann man laravel-backup kostenlos einsetzen, vorausgesetzt man sendet dem Entwickler eine Postkarte mit der Einsatzzweck der Erweiterung.

Um die Backup-Strategie in Ihrem System zu integrieren, installieren wir im ersten Schritt die Erweiterung und die von der Erweitertung benötigten Komponenten. Im Anschluss müssen die Dateisystem und die Intervalle der Sicherungen konfiguriert werden. Des Weiteren können in diesem Schritt auch die Regelungen für das Aufräumen der Backups festgelegt werden.

Ausführen von Backups

Es gibt zwei Möglichkeiten, den Sicherungsprozess anzustoßen. Es ist möglich, die Sicherung manuell per Konsolen-Kommando zu starten. Dies ist allerdings im Alltag unüblich und unzuverlässig. Wir empfehlen das Backup mit einem automatisierten Cronjob anzustoßen. Dieser Cronjob ruft in einem definierten Zeitintervall das Backup-Skript auf. Der Vorteil gegenüber des manuellen Anstoßen liegt klar auf der Hand: Der Gerät (Cronjob) schläft nie (und vergisst das Backup auch nie) ;-)