#Once a week, run the custom backup script 0 10 * * 0 /root/scripts/rsync-backup.sh > /root/scripts/backup-results.log #EVERY 5 MINS FOR TESTING #*/5 * * * 0 /root/scripts/rsync-backup.sh > /root/scripts/backup-results.log ~ [root@bandit ~]# cat /root/scripts/rsync-backup.sh #!/usr/local/bin/bash #This script is executed once per week. By way of root user's crontab entry SERVERIP=[] NOTIFYEMAIL=[Email of where the report will be sent to.] ExUSER=admin count=$(/sbin/ping -c4 $SERVERIP | /usr/bin/grep 'received' | /usr/bin/awk -F',' '{ print $2}' | /usr/bin/awk '{ print $1}') if [ $count -eq 0 ] then #SEND EMAIL notification if not /usr/local/sbin/ssmtp $NOTIFYEMAIL < /root/scripts/serverDown-msg.txt exit fi ### TOTAL HACK TO MAKE SSH-KEYS WORK ### eval `ssh-agent -s` #If a folder in each users home directory labeled as pictures, then sync it to the BACKUP server for i in $( ls -ld /home/*/[pP]ictures | awk '{ print $9 }' ) ; do echo "Found $i " BACKUP=$(echo $i | sed 's/home/backup/g') BACKUP=$(echo $BACKUP | sed 's/[pP]ictures//g') echo "R-Syncing to $BACKUP" /usr/local/bin/rsync -avO -e "/usr/bin/ssh -o StrictHostKeyChecking=no" --delete --log-file=/var/log/rsync.log $i $SERVERIP:$BACKUP done #This script is executed once per week. By way of root user's crontab entry ### TOTAL HACK TO MAKE SSH-KEYS WORK ### eval `ssh-agent -s` #THE Custom SYNCs to include additional folders for a specific user. /usr/local/bin/rsync -avO -e "/usr/bin/ssh -o StrictHostKeyChecking=no" --delete --log-file=/var/log/rsync.log /home/$ExUSER/Documents $SERVERIP:/backup/$ExUSER/ /usr/local/bin/rsync -avO -e "/usr/bin/ssh -o StrictHostKeyChecking=no" --delete --log-file=/var/log/rsync.log /home/$ExUSER/music $SERVERIP:/backup/$ExUSER/ /usr/local/bin/rsync -avO -e "/usr/bin/ssh -o StrictHostKeyChecking=no" --delete --log-file=/var/log/rsync.log /home/$ExUSER/www $SERVERIP:/backup/$ExUSER/ #ADD THE RSYNC DETAILs IN THE EMAIL cat /var/log/rsync.log >> /root/scripts/email-msg.txt #erase log > /var/log/rsync.log #SEND EMAIL WITH REPORT /usr/local/sbin/ssmtp $NOTIFYEMAIL < /root/scripts/email-msg.txt #CLEAR OUT THE RSYNC DETAILS FROM THE PREVIOUS SYNC cp -p /root/scripts/email-msg.txt.ORIG /root/scripts/email-msg.txt ### KILL THE SSH AGENT ### eval `ssh-agent -k` [root@bandit ~]#