標籤:debian mysql 備份 指令碼
#!/bin/shLOG=/var/log/mysql-backup.log# mysql db infoUSER_ROOT=XXXXXXUSER_PWD=XXXXXXX# mysql data stored dirTODAY=`date +%F`STOREDIR=/mnt/tf-card/mysql-back/$TODAYmkdir $STOREDIRecho "*** PATH:$STOREDIR mysql-backup ***" >> $LOG# delete overtime backup filesrm -rf /mnt/tf-card/mysql-back/$(date +%F --date='15 days ago')# backup mysql data filemysqldump -u$USER_ROOT --password=$USER_PWD --databases my_yd_net --lock-all-tables --flush-logs |gzip>$STOREDIR/my_yd_net.sql.gz
------------------
建立指令碼:nano /etc/cron.daily/mysql-backup
增加執行許可權:chmod +x /etc/cron.daily/mysql-backup
建立備份檔案根目錄:mkdir /mnt/tf-card/mysql-back/
解釋:此指令碼每天會產生一個備份目錄,/mnt/tf-card/mysql-back/yyyy-mm-dd/xxxx.sql.gz,並持保留15天內的資料,並對匯出的sql檔案用gzip壓縮
查看執行時間:cat /etc/crontab
目錄可自行修改,mysql的串連帳號USER_ROOT與USER_PWD自行修改;
“# backup mysql data file”這個部分的語句下面可以添加多條 mysqldump 備份語句,一次備份多個庫。
對於超過15天的資料處理:每天會嘗試刪除一次第15天前的一個檔案。