Backupskript für Ubuntu mit rsnapshot

Mein Bash-Backupskript auf Basis von rsnapshot, das auf rsync aufbaut.
Features: Donnerstags weekly-Backup, am Ersten des Monats monatliches.
Mit yes.png, save.png und drive.png werden die Benachrichtigungen auch schön. Die benötigen die Notifications von Ubuntu (soweit ich mich erinnere seit 9.04 dabei). Die Zeilen kann man auskommentieren und damit dafür sorgen, dass auch andere Linuxdistributionen unterstützt werden.
Lizenz: GPLv3
Viel Spaß damit!

Code:

#!/bin/sh

# "programming bash"
SELF=$(readlink -f "$0" || echo "$0");
PROGRAM_DIR=$(dirname "$SELF");

notify-send -i "$PROGRAM_DIR/drive.png" "Backup" "Beginne Backup..."

# Paketliste
notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Erzeuge Paketliste"
dpkg --get-selections > ~/pakete.txt
notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Paketliste erzeugt."

# monthly
day=$(date '+%d')
if [ $day == "01" ]; then
	notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Beginne monatliches Backup..."
   	time sudo rsnapshot monthly;
	notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Monatliches Backup abgeschlossen."
fi

# weekly?
day=$(date '+%u')
if [ $day == "4" ]; then
	notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Beginne wöchentliches Backup..."
	time sudo rsnapshot weekly;
	notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Wöchentliches Backup abgeschlossen."
fi

# daily
	notify-send -i "$PROGRAM_DIR/save.png" "Backup-Status" "Beginne tägliches Backup..."
time sudo rsnapshot daily;
notify-send -i "$PROGRAM_DIR/yes.png" "Backup-Status" "Tägliches Backup abgeschlossen."

notify-send -i "$PROGRAM_DIR/drive.png" "Backup" "Backup abgeschlossen. Sie können den Datenträger jetzt entfernen."

Johannes

Dieser Beitrag wurde unter Linux, Programmieren, Ubuntu abgelegt und mit , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">