1. 程式人生 > 其它 >mysql資料庫結合crontab實現定時備份

mysql資料庫結合crontab實現定時備份

說明:centos7伺服器上,使用docker拉取mysql映象,然後再生成的mysql容器

備份指令碼

生成備份的sql後,壓縮成tar包,並刪除7天前的備份檔案

mysql_dump.sh

#!/bin/bash
docker exec -it mysql56 mysqldump -uroot -proot stu2 | gzip > /home/zcb/backup/stu2_`date +%Y%m%d`.sql.gz
send=`date '+%Y-%m-%d %H:%M:%S'`
if [ $? -ne 0 ];
then
    echo "$send 資料備份失敗!"
    exit -1
else
    echo "$send 資料備份成功!"
fi

find /home/zcb/backup/ -mtime +7 -name 'stu2_[1-9].sql' -exec rm -rf {} \;

crontab定時執行

建立定時任務

[root@zcb /]# crontab -e

然後在vim視窗,編輯如下表達式:

10 12 * * * bash /home/zcb/backup/mysql_dump.sh > /home/zcb/backup/mysql_dump.log 2>&1

編輯完成後,按下:wq,進行儲存

檢視定時任務

[root@zcb /]# crontab -l

這個命令會顯示當前使用者所有的定時任務,和crontab -e 命令所看到的效果相同

定時執行

若執行完成後,系統會給使用者傳送郵件,地址位於:/var/spool/mail/zcb

檢視備份效果與備份日誌