Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- filename=site_backups/$(date +%Y%m%d).tar.gz
- current_log_text=site_backups/$(date +%Y%m%d).txt
- is_error=0
- WEBROOT=www/
- SUBJECT="Website nightly backup failed!"
- EMAIL="your_email@example.com"
- date >> $current_log_text
- echo -e "Synchronizing www directory...\n" >> $current_log_text
- rsync -ra --delete $WEBROOT backup_www/ >> $current_log_text
- if [ "$?" -ne "0" ]; then
- date >> $current_log_text
- echo -e "Failed to synchronize." >> $current_log_text
- let "is_error += 1"
- fi
- date >> $current_log_text
- echo -e "Zipping most current backup...\n" >> $current_log_text
- tar -zcf $filename backup_www/
- if [ "$?" -ne "0" ]; then
- date >> $current_log_text
- echo -e "Failed to zip." >> $current_log_text
- let "is_error += 2"
- fi
- date >> $current_log_text
- echo -e "Deleting old backups...\n" >> $current_log_text
- find site_backups -type f -mtime +14 -exec rm {} \;
- if [ "$?" -ne "0" ]; then
- date >> $current_log_text
- echo -e "Failed to delete old backups." >> $current_log_text
- let "is_error += 4"
- fi
- date >> $current_log_text
- echo -e "Backup complete. Exit ("$is_error")." >> $current_log_text
- if [ "$is_error" -gt "0" ]; then
- (echo -e 'Something went wrong with website nightly backup. (Error '$is_error')\n' ; cat $current_log_text) | mail -s "$SUBJECT" "$EMAIL"
- exit $is_error
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement