mysql定時任務:刪除和備份


1、查看磁盤空間情況
  既然是定時備份,就要選擇一個空間充足的磁盤空間,避免出現因空間不足導致備份失敗、數據丟失的問題。查看服務器磁盤空間使用情況的命令為:df -h。(df,disk free;h,human;以人類易讀的形式展示可用磁盤)

  這里選擇根目錄(/)作為備份目錄。
2、創建備份目錄

3、創建備份腳本
  備份sql文件腳本格式:

!/bin/bash

mysqldump -uusername -ppassword DBName > /backup/DBName_$(date +%Y%m%d_%H%M%S).sql
1
2
  備份sql壓縮文件腳本格式:

!/bin/bash

mysqldump -uusername -ppassword DBName | gzip > /backup/DBName_$(date +%Y%m%d_%H%M%S).sql.gz
1
2
  刪除7天前的備份文件:

workdir="/backup/"

do_delete()
{
echo file name is $workdir

    find $workdir -name '*.sql.gz' -and -mtime +7  -type f  -delete
    if [ $? -eq 0 ];then
        echo $date delete $dir success!             
    else
        echo $date delete $dir FAILD!            
     fi

}
do_delete

username:數據庫用戶名
password:數據庫密碼
DBName :要備份的數據庫名
    在backup目錄下執行命令:vi bkdb.sh,並粘貼寫好的備份和刪除腳本,例如:

!/bin/bash

mysqldump -uroot -proot wms_prod | gzip > /backup/wms_prod_$(date +%Y%m%d_%H%M%S).sql.gz

workdir="/backup/"

do_delete()
{
echo file name is $workdir

    find $workdir -name '*.sql.gz' -and -mtime +7  -type f  -delete
    if [ $? -eq 0 ];then
        echo $date delete $dir success!             
    else
        echo $date delete $dir FAILD!            
     fi

}
do_delete

以上內容有兩個作用:

備份數據庫:wms_prod。
刪除7天前/backup/目錄下后綴名為.sql.gz的文件。
4、添加可執行權限
chmod u+x bkdb.sh
1
檢驗腳本是否可用,執行命令:./bkdb.sh。如果可用,則backup目錄下會生成備份文件。

5、添加計划任務
執行命令crontab -e。如果出現提示信息:command not found,可參考文章:安裝crontab,自行完成安裝。
這時就像使用vi編輯器一樣,可以對計划任務進行編輯。輸入以下內容:
0 22 * * * /backup/bkdb.sh
1
  意思是每天在22:00執行shell腳本/backup/bkdb.sh。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM