Reference: http://www.mikerubel.org/computers/rsync_snapshots/
Below is a backup script for backing up /home to /mnt/usb1/backup using rsync.
#!/bin/sh
RSYNC_ROOT=/mnt/usb1/backup
logmsg() {
CURTIME=`date`
echo "[$CURTIME] $@"
}
logmsg "rsync /home to $RSYNC_ROOT"
COUNTER=7
FIRST=1
NEXT=0
while [ $COUNTER -gt 0 ] ; do
FIRST=$COUNTER
let COUNTER=COUNTER-1
NEXT=$COUNTER
[[ -d $RSYNC_ROOT/home.$FIRST ]] && mv $RSYNC_ROOT/home.tmp
[[ -d $RSYNC_ROOT/home.$NEXT ]] && \
mv $RSYNC_ROOT/home.$NEXT $RSYNC_ROOT/home.$FIRST
done
logmsg "rotated backup directories."
if [ -d $RSYNC_ROOT/home.1 ] ; then
rsync -a --delete --link-dest=$RSYNC_ROOT/home.1 /home/ $RSYNC_ROOT/home.0/
else
rsync -a --delete /home/ $RSYNC_ROOT/home.0/
fi
logmsg "Backup finished!"
It works.
Recent comments
2 weeks 3 days ago
27 weeks 4 days ago
28 weeks 3 days ago
39 weeks 3 days ago
40 weeks 5 days ago
49 weeks 3 days ago
49 weeks 5 days ago
50 weeks 4 days ago
51 weeks 3 days ago
51 weeks 4 days ago