Der Sommer naht, ich dir ein Backupscript ra(h)t

Veröffentlicht von

Warum dieser Titel? Weil ich heute gehört habe, dass man für mehr Besucher seine Beiträge auch an die Jahreszeit anpassen sollte. Und da Sommer ist, und ich gerade ein Backupskript fertig habe, empfehle ich Euch zum Sommer hin nochmal eure Backupstrategien zu überprüfen, um die sommerlichen Tage draußen besser genießen zu können.
Vorweg findet Ihr das genannte Script in meinem Scripts Github Repository.

Wie funktioniert es?

Es kann je ein tar.gz full Backup oder level-1 incremental Backup eines jeden Unterordners innerhalb eines Pfades erstellen.
Beispiel Ordnerstruktur:

/var/www
/var/www/site1
/var/www/site2
/var/www/site3

Full Backup Aufruf:

backupfolders FULL /var/www

Ergebnis:

$STORAGEDIR/site1/[site1.0.tar.gz | site1.snar.full]
$STORAGEDIR/site2/[site2.0.tar.gz | site2.snar.full]
$STORAGEDIR/site3/[site3.0.tar.gz | site3.snar.full]

Incremental Backup Aufruf:

backupfolders INCR /var/www

Ergebnis:

$STORAGEDIR/site1/[site1.1.tar.gz | site2.snar]
$STORAGEDIR/site2/[site2.1.tar.gz | site2.snar]
$STORAGEDIR/site3/[site3.1.tar.gz | site3.snar]

Zudem gibt es noch die Möglichkeit diverse excludes zu konfigurieren und sich bei Fehlern das erstellte Logfile per E-Mail zukommen zu lassen. Perfekt also für die Benutzung innerhalb eines Cronjobs wie z.B. diese hier:

10 2 * * 2,3,4,5,6,7 root /usr/local/sbin/backupfolders INCR /var/www
10 2 * * 1 root /usr/local/sbin/backupfolders FULL /var/www

An jedem ersten Tag der Woche wird ein full Backup erstellt und an allen anderen Tagen ein inkrementelles auf Basis des letzten full Backups.

Erstellt habe ich es, weil ich für meinen Webserver die Backupstrategie überarbeitet habe und für jede einzelne Seite ein eigenes tar.gz Archiv haben wollte.
Um nicht jeden Tag full Backups zu machen, sind immerhin derzeit in meinem Fall ~10GB pro Tag, sollten inkrementelle Backups auf Basis des letzten full Backups erstellt werden.
Eine detailliertere Anleitung mit weiteren Erklärungen sind im Script selber hinterlegt.

Fazit

Man könnte das ganze jetzt noch weiter ausbauen und z.B. einen anderen Server per cron die erstellten Backups abholen und archivieren lassen. Ich hoffe, ich konnte Euch ein paar Anreize liefern, nochmal über das Thema Backup nachzudenken und vlt. richtet Ihr euer Backup auf Basis meines Scriptes ein. Solltet Ihr Anregungen oder Verbesserungen haben, schreibt es gern in die Kommentare oder erstellt auf Github ein Patch oder Issue.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.