Advertisement
Biduleohm

Config Backup

Sep 3rd, 2015
4,636
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.37 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. ### Parameters ###
  4. logfile="/tmp/config_backup_error.tmp"
  5. tarfile="/tmp/config_backup.tar"
  6. filename="$(date "+FreeNAS_Config_%Y-%m-%d_%H-%M-%S")"
  7. subject="Config Backup for FreeNAS"
  8.  
  9. if [ "$(sqlite3 /data/freenas-v1.db "pragma integrity_check;")" == "ok" ]
  10. then
  11. ### Send config backup ###
  12.     cp /data/freenas-v1.db "/tmp/${filename}.db"
  13.     md5 "/tmp/${filename}.db" > /tmp/config_backup.md5
  14.     sha256 "/tmp/${filename}.db" > /tmp/config_backup.sha256
  15.     cd "/tmp/"; tar -cf "${tarfile}" "./${filename}.db" ./config_backup.md5 ./config_backup.sha256; cd -
  16.     uuencode "${tarfile}" "${filename}.tar" | mail -s "${subject}" "${email}"
  17.     rm "/tmp/${filename}.db"
  18.     rm /tmp/config_backup.md5
  19.     rm /tmp/config_backup.sha256
  20.     rm "${tarfile}"
  21. else
  22. ### Send error message ###
  23.     (
  24.         echo "To: ${email}"
  25.         echo "Subject: ${subject}"
  26.         echo "Content-Type: text/html"
  27.         echo "MIME-Version: 1.0"
  28.         echo -e "\r\n"
  29.         echo "<pre style=\"font-size:14px\">"
  30.         echo ""
  31.         echo "Automatic backup of FreeNAS config failed."
  32.         echo ""
  33.         echo "The config file is corrupted!"
  34.         echo ""
  35.         echo "You should correct this problem as soon as possible."
  36.         echo ""
  37.         echo "</pre>"
  38.     ) >> "${logfile}"
  39.     sendmail -t < "${logfile}"
  40.     rm "${logfile}"
  41. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement