CentOS定時備份MySQL數據庫


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!:強制退出,不保存修改的內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM