Erst einmal den ganzen Server abgleichen...
Bash
#!/bin/bash
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
rsync -Havxe ssh --numeric-ids --delete --force dedi:/home/ /backup/home/ 1>/root/dedi_rsync.log 2>/root/dedi_rsync.err
rsync -Havxe ssh --numeric-ids --delete --force dedi:/var/ /backup/var/ 1>>/root/dedi_rsync.log 2>>/root/dedi_rsync.err
rsync -Havxe ssh --numeric-ids --delete --force --exclude /home --exclude /usr --exclude /var dedi:/ /backup/ 1>>/root/dedi_rsync.log 2>>/root/dedi_rsync.err
rsync -Havxe ssh --numeric-ids --delete --force dedi:/usr/ /backup/usr/ 1>>/root/dedi_rsync.log 2>>/root/dedi_rsync.err
...dann bestimmte Verzeichnisse auf die USB-Festplatte speichern
Bash
#!/bin/bash
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
dat=`date +%Y-%m-%d-%H:%M`;
removedat=`date --date="-45 days" +%Y-%m-%d`;
nottoremove=`date --date="last month" +%Y-%m-15`;
mount /media/backup
sleep 5
if [ -f "/media/backup/lastbackup" ]
then
lastrun=`cat /media/backup/lastbackup`
if [ -d "/media/backup/$lastrun" ]
then
cp -al /media/backup/$lastrun /media/backup/$dat
rsync --archive --verbose --stats --hard-links --sparse --numeric-ids --delete --force --delete-excluded /home/ /media/backup/$dat/keller/ 1>/media/backup/backup.log 2>/media/backup/backup.err
rsync --archive --verbose --stats --hard-links --sparse --numeric-ids --delete --force --delete-excluded /backup/etc/ /media/backup/$dat/dedi/etc/ >>/media/backup/backup.log 2>>/media/backup/backup.err
rsync --archive --verbose --stats --hard-links --sparse --numeric-ids --delete --force --delete-excluded --exclude "logfiles/*" /backup/home/ /media/backup/$dat/dedi/home/ >>/media/backup/backup.log 2>>/media/backup/backup.err
rsync --archive --verbose --stats --hard-links --sparse --numeric-ids --delete --force --delete-excluded /backup/var/lib/ /media/backup/$dat/dedi/var/lib/ >>/media/backup/backup.log 2>>/media/backup/backup.err
rsync --archive --verbose --stats --hard-links --sparse --numeric-ids --delete --force --delete-excluded /backup/var/www/ /media/backup/$dat/dedi/var/www/ >>/media/backup/backup.log 2>>/media/backup/backup.err
echo $dat >/media/backup/lastbackup
sync
fi
#remove all old backups, execpt the one from 15. of each month
if [ $nottoremove != $removedat ]
then
#get all dirs from the day 45 days before today
dirs=`ls -d /media/backup/$removedat-* 2>>/media/backup/backup.err`
if [ "$dirs" ]
then
for rdir in $dirs
do
if [ -d "$rdir" ]
then
rm -rf $rdir
echo "deleted dir: $rdir" >>/media/backup/backup.log
sync
fi
done
fi
fi
fi
#wait for device...
sleep 5
umount /media/backup
Alles anzeigen
Einmal ein komplettes, inkrementelles Backup bitteschön!
Interessanterweise kommen jeden Tag ca. 1 GB Daten dazu (dieser Server und der Daheim). Die USB-Platte hat 250GB Platz.