
Incremental backup
By: a guest on
May 19th, 2012 | syntax:
Bash | size: 0.86 KB | hits: 37 | expires: Never
#!/bin/bash
# Incremental backup script
# (c) tumik 2012
#
# - requires rsync
# - Set to 1 year by default
# - Save to for example /etc/cron.daily/
# Where to create backup folders
BDIR="/mnt/mirror/autobackup"
# Folders to backup (start with space)
LIST=" /home/1stDir /home/2ndDir"
for d in $LIST; do
if [ -d /$d/ ]; then
# If folder doesnt exist, create it
if [ ! -d $BDIR/$d/ ]; then
mkdir -p $BDIR/$d/
fi
cd $BDIR/$d
# Delete oldest
if [ -d "backup.365" ]; then
rm -rf backup.365
fi
# Move everything forward by 1 day
for i in {364..0}; do
j=`expr $i + 1`
if [ -d "backup.$i" ]; then
mv backup.$i backup.$j
fi
done
# Actual copying
rsync -a --delete --link-dest=../backup.1 /$d/ backup.0/
echo `date` > last.txt
echo "`date` - /$d copied successfully"
fi
done