歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 備份文件和數據庫發送到郵箱

Linux 備份文件和數據庫發送到郵箱

日期:2017/2/28 16:11:07   编辑:Linux教程
一個誤操作 把一個月的文件備份和數據庫備份刪掉了

做了一個用sendmail發送到郵箱的備份腳本:
Xml代碼
  1. #!/bin/bash
  2. # X , sendmail hoodbc20117
  3. ### Setting path ###
  4. BACKPATH="/data0/mysql_bak"
  5. DATE=`/bin/date "+%Y-%m-%d-%H-%M-%S"`
  6. zip -rq $BACKPATH/erp_$DATE.zip /data/htdocs/www/erp/
  7. echo "erp all backup" | mutt -a $BACKPATH/erp_$DATE.zip -s "erp all backup" [email protected]
  8. find $BACKPATH -ctime +30 -name *.zip -delete


順便把數據庫備份的腳本也記錄下來:

Xml代碼
  1. #!/bin/bash
  2. # hoodbc20117
  3. ### database setting ###
  4. USER='root'
  5. PASSWORD=''
  6. HOST="127.0.0.1"
  7. DATABASES=(erp)
  8. ### Setting path ###
  9. MYSQLDUMP=/usr/local/webserver/mysql/bin/mysqldump
  10. BACKPATH="/data0/mysql_bak"
  11. DATE=`/bin/date "+%Y-%m-%d-%H-%M-%S"`
  12. for DATABASE in ${DATABASES[*]}
  13. do
  14. FILENAME="$DATABASE-$DATE"
  15. $MYSQLDUMP --add-drop-table --user $USER --password=$PASSWORD $DATABASE --lock-all-tables>> "$BACKPATH/$FILENAME.sql"
  16. done
  17. #tar zcf -r $BACKPATH/erp_$DATE.tar.gz ~/data/htdocs/www/erp
  18. #zip -rq $BACKPATH/erp_$DATE.zip /data/htdocs/www/erp/
  19. zip -rq $BACKPATH/$FILENAME.zip $BACKPATH/$FILENAME.sql
  20. echo "erp db backup" | mutt -a $BACKPATH/$FILENAME.zip -s "erp db backup" [email protected]
  21. find $BACKPATH -ctime +30 -name *.sql -delete

記得加上--lock-all-tables的參數,這樣在導出sql文件的時候會鎖定表,當然也可以直接把數據庫文件打包。最後加到crontab裡定時運行腳本。

Copyright © Linux教程網 All Rights Reserved