kleine Backup-Erinnerung

Published on 1.05.2011
Published in backup linux

Um mir bei der konsequenten Durchführung von Backups ein bisschen auf die Sprünge zu helfen, habe ich mir ein kleines Skript gebastelt. Mit dessen Hilfe ich in den letzten Monaten auch jedes geplante Backup durchgeführt habe :)

Die Anforderungen: Ich brauchte eine Erinnerung, die von Backup-Programm unabhängig ist. Zudem sollte es zwar ausreichend penetrant sein, jedoch auch den Arbeitsablauf nicht unterbrechen.

Die Funktionsweise, ich lege mit einem cronjob in einem gewünschten Intervall eine versteckte Datei im Home-Verzeichnis an (die den Namen des Intervalls enthält):

@daily ID=daily-backup /bin/touch /home/user/.daily-backup
@weekly ID=weekly-backup /bin/touch /home/user/.weekly-backup

Beim Anmelden prüfe ich dann, welche dieser Dateien existiert und rufe das Backup-Programm auf. Hier das Skript mit verschlüsselter Backup-Festplatte und rsnapshot:

#!/bin/sh
intervals=(daily weekly)

createBackup(){
echo -n "Create a $1 backup NOW? [Yn] "
read answer

case $answer in
  n) return 0 ;;
  *) echo -n "Which device contains the encrypted backup volume? [std. sdb1] "
     read device
     echo -n "Enter root "; su -c "
     cryptsetup luksOpen /dev/${device:-sdb1} backup &&
     mount /dev/mapper/backup/ /backup &&
     rsnapshot $1 &&
     umount /backup &&
     cryptsetup luksClose backup" &&
     rm ~/.$1-backup ;;
esac
}

for interval in ${intervals[@]}
do
  if [ -f ~/.$interval-backup ]; then
      createBackup "$interval"
  fi
done

Leave a Reply

Comments

Kommentare für diesen Eintrag als RSS Feed
No comments