## Set up backup cron jobs # Clear any nightly packages that already exist 44 23 * * * root rm -rf /backup/nightly/* # Do a backup of /home/public at 12:10 AM every night. 10 0 * * * root cp -Ra /home/public /backup/nightly ## Create daily tarballs, bz2 compress for efficiency 33 3 * * 0 root export DAY=Sunday && /usr/local/bin/snapshot-public 33 3 * * 1 root export DAY=Monday && /usr/local/bin/snapshot-public 33 3 * * 2 root export DAY=Tuesday && /usr/local/bin/snapshot-public 33 3 * * 3 root export DAY=Wednesday && /usr/local/bin/snapshot-public 33 3 * * 4 root export DAY=Thursday && /usr/local/bin/snapshot-public 33 3 * * 5 root export DAY=Friday && /usr/local/bin/snapshot-public 33 3 * * 6 root export DAY=Saturday && /usr/local/bin/snapshot-public ############################################################### # /usr/local/bin/snapshot-public ############################################################### #!/bin/bash ############## ## This script backs up the public content. ## $DAY is set by the cron job. ############## ## Clear existing tarballs in the daily folder. rm -rf /backup/${DAY}/snapshot.tar.bz2 ## Make a tarball out of /backup/nightly tar -cjf /backup/${DAY}/snapshot.tar.bz2 /backup/nightly ## Clear the value of $DAY, just in case export DAY='' exit