I've started backing up one of my systems to S3. The instructions from the Phusion blog worked almost perfectly, except my TARGET line was
Also on the AWS side, I set up a lifecycle rule to archive the backups to Glacier after 7 days.
I did run into some issues getting the backups to work together with powernap, which was configured to put the system to sleep after a few minutes of inactivity.
Powernap was causing a problem on two fronts. First, the system was going to sleep mid-backup since full backups take longer than the powernap inactivity timeout. Second, the backups were scheduled for the middle of the night when the system would normally already be asleep.
To get around the mid-backup sleep issue, I made a /usr/local/bin/duply-nightly script which shuts down powernap before calling duply and restarted it afterwards.
To get around the system-already-asleep issue, I'm using an RTC wakeup in /usr/local/bin/duply-nightly to set the system to wake a few minutes before the cron job kicks off (but not early enough for powernap to put the system to bed again...)
The first night I ran the backup, I had to prime the /sys/class/rtc/rtc0/wakalarm time manually, but since then the script has set the wakeup time for the next day
The final /usr/local/bin/duply-nightly script is below
#!/bin/sh +x /usr/bin/logger "Running nightly backup from $0" # Disable powernap during the backup service powernap stop /usr/bin/duply nightly backup # Wakeup the system at 3:00am tomorrow echo 0 > /sys/class/rtc/rtc0/wakealarm echo `date '+%s' -d '3am next day'` > /sys/class/rtc/rtc0/wakealarm # Enable powernap again. service powernap start
The cron job that kicks on /usr/local/bin/duply-nightly is below
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 5 3 * * * root env HOME=<myhomedir> /usr/local/bin/duply-nightly > /var/log/duply-nightly.log