Wir zeigen ihnen ein Backupskript für Linux (u.a. Debian, Ubuntu, Raspbian, Banana) mit rsync und E-Mail Benachrichtigung. Es können Dateien von einer Festplatte auf eine andere angeschlossene HDD automatisiert gesichert werden.
rsync ist ein Programm, um Dateien zwischen lokalen oder über das Netzwerk erreichbaren Pfaden abzugleichen. Dabei werden zunächst die Größe und die Änderungszeit der Dateien in Quelle und Ziel verglichen („Quick Check“-Algorithmus), so dass nur die Dateien behandelt werden müssen, bei denen es Änderungen gegeben hat. Sind Quelle und Ziel lokale Pfade, werden die betroffenen Dateien normal kopiert. Wenn auf Quelle oder Ziel aber per SSH oder über einen speziellen rsync-daemon zugegriffen wird, nutzt rsync zusätzlich noch einen speziellen Delta-Transfer-Algorithmus, so dass nur die geänderten Teile der Dateien über das Netzwerk transportiert werden müssen.
Quelle: wiki.buntuusers
Vorraussetzung:
Das folgende Backupskript ist konfigurierbar.
Konfigurieren Sie „QUELLE“, „ZIEL“ und „sendemail“ und ggf. „RSYNCCONF“
#!/bin/bash
#Backupskript mit rsync
# https://www.Benefit-Blog.de info@benefit-blog.de
# Angabe der Ordner die gesichert werden soll. Verschiedene Ordner sind durch Leerzeichen zu trennen.
# Bsp.: QUELLE="/media/hdd1 /root /bin"
QUELLE="/media/hdd1/ /media/hdd2"
#Email für Benachrichtigung (sendmail wird benötigt)
sendemail="test@test.de"
# Ziel des Backups
ZIEL="/media/hdd3/Backup/"
# Einstellungen
# --delete vergleicht Quellverzeichnis mit Zielverzeichnis, löscht die Dateien im Zielverzeichnis, wenn diese im Quellverzeichnis nicht mehr vorhanden sind.
#RSYNCCONF="--delete"
RSYNCCONF=""
# Dateiname des Logfile
LOGFILE="rsync_log.log"
# Ort der Binär-Datei von "rsync"
RSYNC=`which rsync`
# Befehl
$RSYNC -avrpuE $RSYNCCONF $QUELLE $ZIEL > $LOGFILE
# send status report mail
echo "Voll-Backup report." | mail -a $LOGFILE -s "Server - Backupstatus" $sendemail < $LOGFILE
Cronjob
Um eine Automatisierung zu erreichen, muss das Skript regelmäßig ausgeführt werden mithilfe des Cronjob. Die unten gezeigte Gliederung stellt die Zeitangaben dar:
* * * * * auszuführender Befehl ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ └──── Wochentag (0-7) (Sonntag =0 oder =7) │ │ │ └────── Monat (1-12) │ │ └──────── Tag (1-31) │ └────────── Stunde (0-23) └──────────── Minute (0-59)
0 3 * * * /home/USER/Dokumente/backupskript.sh
Anschließend muss das Backupskript ausführbar gemacht werden. (Rechte vergeben)
sudo chmod +x /home/USER/Dokumente/backupskript.sh
1 Kommentar. Hinterlasse eine Antwort
Sehr gut erklärt vielen Dank. Werde das Linux Backupskript auf jeden Fall mal ausprobieren.