標籤:Database Backup crontab定時任務 mysqldump linux資料庫定時備份
Linux下使用crontab自動備份資料庫
這裡使用到crontab定時任務的添加及mysqldump執行簡單的Database Backup,具體步驟如下:
1. 編寫一個指令碼: /serverBack/autobackmysql.sh
內容如下:
方法一:
##使用mysqldump備份資料庫erms
/usr/local/mysql/bin/mysqldump -uroot -ppwd erms >> /serverBack/mysql_back/erms_$(date+"%Y_%m_%d").sql
##找到/serverBack/mysql_back/下檔案名稱以erms_開頭,以 .sql 結尾的檔案,並且是7天前系統修改過的檔案,將其刪除
find /serverBack/mysql_back/ -mtime +7-name "erms_*.sql" -exec rm -rf {} \;
方法二:
/usr/local/mysql/bin/mysqldump -uroot -ppwd dbname > dir/db_`date +%F`.sql
##保留近一周的備份檔案,更早的刪除
find /dir -mtime +7 -name"db_*.sql" -exec rm -rf {} \;
方法三:
filename=‘date +%y%m%d‘
/usr/local/mysql/bin/mysqldump -uroot-proot erms >>/serverBack/mysql/$filename.sql
注意:a.這裡的mysqldump最好是使用絕對路徑,若直接使用mysqldump有可能備份成空檔案
b.為了確保該指令碼內容準確無誤,可以單獨運行每個命令,如執行mysqldump命令:/usr/local/mysql/bin/mysqldump -uroot -ppwd erms >> /serverBack/mysql_back/erms_$(date+"%Y_%m_%d").sql
c.find命令中,結尾處的 ; 分號不能省略
2. 添加一個定時任務
crontab –e ##編輯定時任務
添加定時任務內容:
00 15 * * * /serverBack/autobackmysql.sh ##每天定時15:00:00 執行指令碼 /serverBack/autobackmysql.sh
命令:
crontab –e ##編輯定時任務
crontab –r 刪除所有定時任務
crontab –l 列出所有定時任務
Linux下使用crontab自動備份資料庫