Date created: Sunday, June 19, 2011 12:18:34 PM. Last modified: Sunday, January 27, 2019 11:45:57 AM
Rsync with Notification
rsync between a source and destination and send an email once completed saying weather the rsync operations were successful. The success of the rsync operation is taken from the exit status of the rsync command;
#!/bin/bash mailSubject="Backup Successful" mailTo="mailbox@domain.tld" mailMessage="/tmp/backup_tmp" echo "Rsync was successfull" > $mailMessage logDir="/rsync/log/dir/" logFile="$logDir`date +%d-%m-%Y`.log" set -o pipefail # Pipe fail is important here to get the exist status of the whole operation # when we are piping the output of rsync to another command, otherwise we would just get the # exit status of the 'tee' command echo "Starting sync at: " `date "+%d-%m-%Y %H:%M:%S"` | tee $logFIle result=`rsync -razv --delete --ignore-errors --exclude-from=/rsync/excludelist user@10.0.0.2:"/Volumes/Audio\ HD1" /backup/ | tee -a $logFile` if [ $? -ne 0 ]; then mailSubject="Backup Failure" echo "backup failed: " > $mailMessage echo "$result" >> $mailMessage fi # Clean up old logs find $logDir -maxdepth 1 -type f -mtime +30 | xargs rm echo "Finishing sync at: " `date "+%d-%m-%Y %H:%M:%S"` | tee -a $logFile # Add a list of the log directory to the email so we can see the logs rotating ls -l $logDir > /tmp/ls_result cat /tmp/ls_result >> $mailMessage cat $mailMessage | mail -s "$mailSubject" "$mailTo"
Previous page: Rsync Backup Window
Next page: Split MP3 by Seconds