1、編寫備份腳本
vi /usr/sbin/mysql_dy_backup.sh
#!/bin/bash
#備份路徑
BACKUP=/data/backup/sql/dy
#當前時間
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo "===備份開始==="
echo "備份文件存放於${BACKUP}/$DATETIME.tar.gz"
#數據庫地址
HOST=localhost
#數據庫用戶名
DB_USER=root
#數據庫密碼
DB_PW=Ces123456
#創建備份目錄
[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"
#后台系統數據庫
DATABASE=dy_backgroundms
mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz
#投入品監管數據庫
DATABASE=dy_firip
mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz
#壓縮成tar.gz包
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#刪除備份目錄
rm -rf ${BACKUP}/$DATETIME
#刪除10天前備份的數據
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "===備份成功==="
注:find:linux的查找命令,用戶查找指定條件的文件
-mtime:標准語句寫法
+10:查找10天前的文件,這里用數字代表天數,+30表示查找30天前的文件
"*.*":希望查找的數據類型,"*.jpg"表示查找擴展名為jpg的所有文件,"*"表示查找所有文件,這個可以靈活運用,舉一反三
-exec:固定寫法
rm -rf:強制刪除文件,包括目錄
{} \; :固定寫法,一對大括號+空格+\
2、更改備份腳本權限
chmod u+x /usr/sbin/mysql_dy_backup.sh
3、設置定時執行腳本任務
crontab -e
#每天17:30執行
30 17 * * * /usr/sbin/mysql_dy_backup.sh
————————————————————————————————————————————————————————————————————————
copy時候按a
可以通過以下命令查看任務日志:
tail -f /var/log/cron
q:退出
wq:修改后保存退出
q!:強制退出,不保存修改的內容