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 nils-andresen.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 nils < last.mail.eml
fi
popd > /dev/null
Die Mail wird nur „intern“ (an den Benutzer nils) versendet, für mich ist das aber ausreichend...
Keine Kommentare:
Kommentar veröffentlichen