mysqldump 對Mysql資料庫 每天完全備份執行指令碼
阿新 • • 發佈:2019-02-20
備份思想:每天凌晨進行全備份, 保留最近一週的, 之前保留間隔10天的, 保留3個月以內的
建立 backup_mysql.sh 檔案
mysqldump -h localhost -u root -p123 test > /opt/data/mysqlbak/test_`date +%Y%m%d`.sql
find /opt/data/mysqlbak/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;
find /opt/data/mysqlbak/ -mtime +92 -name '*.sql' -exec rm -rf {} \;
建立定時執行任務
crontab - e 命令編輯執行任務
0 4 * * * /home/backup_mysql.sh
wq 儲存, 每天凌晨4點執行備份指令碼
以下是 crontab 檔案的格式:
{minute}{hour}{day-of-month}{month}{day-of-week}{full-path-to-shell-script}
- minute:區間為0–59;
- hour:區間為0–23;
- day-of-month:區間為0–31;
- month:區間為1–12;1是1月,12是12月;
- Day-of-week:區間為0–6;週日是0。
除了數字還有以下幾個特殊的符號需要特殊說明:*
:代表所有的取值範圍內的數字;/
:代表每的意思,”*/5″表示每5個單位;-
,
:分開幾個離散的數字。
以下舉幾個例子說明問題:
每五分鐘執行*/5 * * * * /home/jelly/test.sh
每小時執行0****/home/jelly/test.sh
每天執行00***/home/jelly/test.sh
每週執行00**0/home/jelly/test.sh
每月執行001**/home/jelly/test.sh
每年執行0011*/home/jelly/test.sh
每天早上6點06***/home/jelly/test.sh
每兩個小時0*/2 * * * /home/jelly/test.sh
晚上11點到早上8點之間每兩個小時023-7/2***/home/jelly/test.sh
1月 1日早上4點0411*/home/jelly/test.sh