Hallo Leute,
ich verwende das rsync-Backupskript aus dem Wiki (Skripte/Backup mit RSYNC) um bei jedem Herunterfahren ein Backup, auf eine externe Festplatte, durchzuführen. Dies funktioniert auch alles so weit ganz gut, bis auf die Überprüfung auf den "Mountpoint".
Bei:
MOUNTPOINT="/media/Backup"
schreibt es, bei nicht vorhandener ext. Festplatte, das Backup auf die root-Partition nach /media/Backup.
Und Bei:
MOUNTPOINT="/media/Backup/"
schreibt es gar kein Backup, auch wenn die Festplatte eingebunden ist.
Hier hier das komplette von mir angepasste Skript:
#! /bin/sh #!/bin/bash # Simple backup with rsync # SOURCES and TARGET must end with slash SOURCES="/root/ /etc/ /home/ /boot/" TARGET="/media/Backup/" MOUNTPOINT="/media/Backup" LOGFILE="/root/backup.log" EXPIREDAYS=0 RSYNC="--delete --exclude=user/.thumbnails --exclude=user/.VirtualBox --exclude=user/.local/share/Trash" #SSHUSER="user" #SSHHOST="hostname" #SSHPORT=22 ### do not edit ### #Backup-HDD mounten mount -L Backup /media/Backup sleep 5 # Paketliste sichern dpkg --get-selections | awk '!/deinstall|purge|hold/ {print $1}' > /home/user/packages.list /bin/date > $LOGFILE MOUNTED=$(/bin/mount | /bin/fgrep "$MOUNTPOINT"); if [ -z "$MOUNTPOINT" ] || [ -n "$MOUNTED" ]; then if [ -e $TARGET ]; then LASTBACKUP=$(/bin/ls -d $TARGET[[:digit:]]* 2>> $LOGFILE | /usr/bin/sort -r | /usr/bin/head -1) fi TODAY=$(/bin/date +%y%m%d) if [ $EXPIREDAYS -gt 0 ]; then EXPIRED=$(/usr/bin/find $TARGET[[:digit:]]* -maxdepth 0 -ctime +$EXPIREDAYS 2>> $LOGFILE) for EX in $(/bin/echo $EXPIRED) do /bin/echo "rm -rf $EX " >> $LOGFILE /bin/rm -rf $EX done fi for SOURCE in $(/bin/echo $SOURCES) do if [ "$LASTBACKUP" ]; then INC="--link-dest=$LASTBACKUP$SOURCE" fi if [ "$SSHUSER" ] && [ "$SSHHOST" ] && [ "$SSHPORT" ]; then SSH="ssh -p $SSHPORT -l $SSHUSER"; SOURCEDIR="$SSHHOST:$SOURCE"; else SOURCEDIR=$SOURCE; fi /bin/mkdir -p $TARGET$TODAY$SOURCE >> $LOGFILE echo "/usr/bin/rsync -e \"$SSH\" -av $SOURCEDIR $RSYNC $INC $TARGET$TODAY$SOURCE " >> $LOGFILE 2>> $LOGFILE; /usr/bin/rsync -e "$SSH" -av $SOURCEDIR $RSYNC $INC $TARGET$TODAY$SOURCE >> $LOGFILE 2>> $LOGFILE; done else /bin/echo "$MOUNTPOINT not mounted" >> $LOGFILE echo "$MOUNTPOINT not mounted" fi #Backup-HDD aushängen umount /media/Backup
Ich habe schon Stunden im Forum und im Internet gesucht, aber keine Lösung gefunden und selber habe ich (noch) nicht viel Ahnung von Skripten. Ich hoffe mir kann jemand helfen. Vielen Dank schon mal im voraus.
Gruß Rudi