標籤:調試 host .sh 開始 cront amp user SQ TE
需求:
- 每天淩晨2:10備份資料庫zhengDB到 /data/backup/db。
- 備份開始和結束能夠給出相應提示資訊。
- 備份後的檔案標識標準為已備份時間為檔案名稱,並打包成 .tar.gz 的形式,如:2018-07-01_211802.tar.gz。
- 在備份的同時,檢查是否有10天前備份的資料庫檔案,如果有就將其刪除。
步驟:step1 : 編寫shell並授權
vim mysql_db_backup.sh
#!/bin/bash#完成資料庫的定時備份。#備份的路徑BACKUP=/data/backup/db#當前的時間作為檔案名稱DATETIME=$(date +%Y_%m_%d_%H%M%S)#可以輸出變數調試#echo ${DATETIME}echo "=======開始備份========"echo "=======備份的路徑是 $BACKUP/$DATETIME.tar.gz"#主機HOST=localhost#使用者名稱DB_USER=root#密碼DB_PWD=123#備份資料庫名DATABASE=zhengDB#建立備份的路徑#如果備份的路徑檔案夾存在,就使用,否則就建立[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"#執行mysql的備份資料庫的指令mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz#打包備份檔案cd $BACKUPtar -zcvf $DATETIME.tar.gz $DATETIME#刪除臨時目錄rm -rf $BACKUP/$DATETIME#刪除10天前的備份檔案find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;echo "=====備份檔案成功==========="
chmod 744 mysql_db_backup.sh #授權
step2 : 設定定時任務
crontab -e
在彈出的vim編輯中編輯定時任務並儲存
10 2 * * * /usr/sbin/mysql_db_backup.sh
通過shell定時備份資料庫