一個誤操作 把一個月的文件備份和數據庫備份刪掉了
做了一個用sendmail發送到郵箱的備份腳本:
Xml代碼
-
- #!/bin/bash
- # X , sendmail hoodbc20117
- ### Setting path ###
- BACKPATH="/data0/mysql_bak"
- DATE=`/bin/date "+%Y-%m-%d-%H-%M-%S"`
-
- zip -rq $BACKPATH/erp_$DATE.zip /data/htdocs/www/erp/
- echo "erp all backup" | mutt -a $BACKPATH/erp_$DATE.zip -s "erp all backup" [email protected]
-
- find $BACKPATH -ctime +30 -name *.zip -delete
順便把數據庫備份的腳本也記錄下來:
Xml代碼
- #!/bin/bash
- # hoodbc20117
-
- ### database setting ###
- USER='root'
- PASSWORD=''
- HOST="127.0.0.1"
- DATABASES=(erp)
-
- ### Setting path ###
- MYSQLDUMP=/usr/local/webserver/mysql/bin/mysqldump
- BACKPATH="/data0/mysql_bak"
-
- DATE=`/bin/date "+%Y-%m-%d-%H-%M-%S"`
- for DATABASE in ${DATABASES[*]}
- do
- FILENAME="$DATABASE-$DATE"
-
- $MYSQLDUMP --add-drop-table --user $USER --password=$PASSWORD $DATABASE --lock-all-tables>> "$BACKPATH/$FILENAME.sql"
- done
-
- #tar zcf -r $BACKPATH/erp_$DATE.tar.gz ~/data/htdocs/www/erp
- #zip -rq $BACKPATH/erp_$DATE.zip /data/htdocs/www/erp/
- zip -rq $BACKPATH/$FILENAME.zip $BACKPATH/$FILENAME.sql
- echo "erp db backup" | mutt -a $BACKPATH/$FILENAME.zip -s "erp db backup" [email protected]
-
- find $BACKPATH -ctime +30 -name *.sql -delete
記得加上--lock-all-tables的參數,這樣在導出sql文件的時候會鎖定表,當然也可以直接把數據庫文件打包。最後加到crontab裡定時運行腳本。