Webspace-Backup…

Mir ist heute aufgefallen, dass die Sicherung meines webspace nicht so war wie ich es mir gewünscht hätte…

Das Problem war das löschen der nicht mehr benötigten Dateien. (Dinge, die nicht mehr auf dem Server sind brauche ich auch nicht in der Sicherung…)
Bisher hatte ich “wget –mirror …” auf einem cron-job, nur leider schaufelt wget immer nur Daten dazu, löscht aber keine alten Daten.

Nach etwas Suchen habe ich das Backup nun auf lftp umgestellt. Dazu habe ich auch gleich eine Mail-Benachrichtigung im Fehlerfall realisiert.

Folgendes Skript läuft nun täglich:

#!/bin/bash
pushd $(dirname $0) > /dev/null
lftp -c "set ftp:list-options -a;
open -u user,pass ftp://server.dom.de;
lcd backup-dir;
mirror \
--use-cache \
--delete \
--allow-chown \
--allow-suid \
--no-umask \
--parallel=2 \
--exclude .listing \
--exclude .configs \
--exclude atd \
--log=../mirror.log" \
2> error.log \
> /dev/null
if [ "$?" -ne 0 ]; then
cat > last.mail.eml <<EOF
Subject: BACKUP server.dom.de FEHLGESCHLAGEN !!!
X-Priority: 1
Importance: High
---- ERROR-LOG: ----
EOF
cat error.log >> last.mail.eml
cat >> last.mail.eml <<EOF
---- MIROR-LOG: ----
EOF
cat mirror.log >> last.mail.eml
/usr/sbin/sendmail -i USER < last.mail.eml
fi
popd > /dev/null
view raw backupWebserver.sh hosted with ❤ by GitHub

Die Mail wird nur „intern“ (an den Benutzer “USER”) versendet, für mich ist das aber ausreichend…