CentOS Backup BASH-Skript

CentOS Backup BASH-Skript

Ich habe gerade dieses Skript geschrieben, um alles in einer tar.gz-Datei zu sichern. Sieht es gut aus? Wie kann ich erreichen, dass sich die tar-Datei nach der Ausführung selbst auf einen anderen Server überträgt? Per FTP von selbst? Ich werde dieses Skript in einen wöchentlichen Cron einfügen.

#!/bin/bash

rm ~/backup.tar.gz #removes old backup
BACKUP_DIRS=$HOME #$HOME is builtin, it goes to /home/ and all child dirs
tar -cvzf backup.tar.gz $BACKUP_DIRS

# run tar -zxvf to extract backup.tar.gz

Antwort1

FTP ist der Teufel. SCP mit RSA-Schlüsselpaaren ist eine gute Möglichkeit, die Dateien sicher von Server zu Server zu verschieben. Was das Skript betrifft, sieht es gut aus.

Antwort2

Wenn Sie nicht viele Dateien haben, die sich ändern, können Sie rsync verwenden, anstatt einen großen Tarball zu erstellen. Rsync sendet nur Änderungen und ist daher viel netzwerkeffizienter als das, was Sie vorschlagen. Vielleicht beginnen Sie damit, sich etwas wie das Folgende anzusehen:

http://lifehacker.com/196122/geek-to-live--mirror-files-across-systems-with-rsync?tag=softwarersync

Antwort3

Abhängig von der Größe des Servers erstellen Sie eine ganze Menge Duplikate. Ich an Ihrer Stelle würde nur geänderte Dateien sichern. Sie sollten die Datei auch mit einem Datums-/Uhrzeitstempel versehen.

Ich würde Folgendes tun:

  • Trainieren Sie den gesamten Rücken 1x pro Monat oder pro Woche
  • Inkrementelle Backups für alle anderen Tage
  • Versehen Sie die Datei mit einem Datums-/Uhrzeitstempel für eine einfachere Wiederherstellung

Eine wirklich einfache Möglichkeit, das Änderungsdatum einer Datei zu prüfen, wäre:

date -r $file +%F

Sie können das also grundsätzlich in eine Funktion einbinden und, wenn die Funktion nicht mit dem Datum der letzten Sicherung übereinstimmt, es dem Archiv/der Sicherung hinzufügen. Andernfalls fahren Sie fort.

HTH

verwandte Informationen