Install truecrypt and setup an external usb hard drive with an encrypted partition. Remember the password 🙂 Once the drive is setup and plugged into your server, run the following bash script to create an incremental backup of a folder onto the drive.
Incremental will create a folder for each day of the week, any files that were changed or deleted on that day will be placed into this folder, so you can go back a week in history and recover any mistakes.
Put this in a bash script ie: run-backup.sh
#!/bin/bash export PATH=$PATH:/bin:/usr/bin:/usr/local/bin echo "Mounting encrypting backup drive:";
# this mounts our external usb hard drive with truecrypt using our password
# i know - not 100% secure - mount it manually if your worried
# the shortname=mixed is so the VFAT partition works nicely on the external drive
truecrypt /dev/sdd1 --protect-hidden=no --fs-options="shortname=mixed"
-k "" -p YourPasswordHere /backup/;
# the folder (todays day) where changed/deleted files will be placed. BACKUPDIR=`date %A`;
echo "Backing up the /data/ directory to the /backup/ directory";
echo "Ignoring /data/somefolder/ and /data/someotherfolder/";
nice rsync --progress --force --ignore-errors --delete-excluded
--delete --backup --max-size=2G --backup-dir=/backup/$BACKUPDIR
--no-p -rtuv /data/ /backup/current;
echo "All complete, unmounting encrypted backup drive";
the above is for a truecrypt’d vfat partition – the rsync options are a little different if you have a better filesystem to play with (eg: preserve permissions & larger than 4gb files)