Advertisement
Guest User

www.backup.sh

a guest
Aug 27th, 2012
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.30 KB | None | 0 0
  1. #!/bin/bash
  2. filename=site_backups/$(date +%Y%m%d).tar.gz
  3. current_log_text=site_backups/$(date +%Y%m%d).txt
  4. is_error=0
  5. WEBROOT=www/
  6. SUBJECT="Website nightly backup failed!"
  7. EMAIL="your_email@example.com"
  8.  
  9. date >> $current_log_text
  10. echo -e "Synchronizing www directory...\n" >> $current_log_text
  11. rsync -ra --delete $WEBROOT backup_www/ >> $current_log_text
  12. if [ "$?" -ne "0" ]; then
  13.     date >> $current_log_text
  14.     echo -e "Failed to synchronize." >> $current_log_text
  15.     let "is_error += 1"
  16. fi
  17.  
  18. date >> $current_log_text
  19. echo -e "Zipping most current backup...\n" >> $current_log_text
  20. tar -zcf $filename backup_www/
  21. if [ "$?" -ne "0" ]; then
  22.     date >> $current_log_text
  23.     echo -e "Failed to zip." >> $current_log_text
  24.     let "is_error += 2"
  25. fi
  26.  
  27. date >> $current_log_text
  28. echo -e "Deleting old backups...\n" >> $current_log_text
  29. find site_backups -type f -mtime +14 -exec rm {} \;
  30. if [ "$?" -ne "0" ]; then
  31.     date >> $current_log_text
  32.     echo -e "Failed to delete old backups." >> $current_log_text
  33.     let "is_error += 4"
  34. fi
  35.  
  36. date >> $current_log_text
  37. echo -e "Backup complete. Exit ("$is_error")." >> $current_log_text
  38.  
  39. if [ "$is_error" -gt "0" ]; then
  40.     (echo -e 'Something went wrong with website nightly backup. (Error '$is_error')\n' ; cat $current_log_text) | mail -s "$SUBJECT" "$EMAIL"
  41.     exit $is_error
  42. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement