[linux] MySql 定時(shí)備份數(shù)據(jù)庫

  • 創(chuàng)建備份目錄、編寫腳本文件

mkdir /opt/Mysql_Bak/
vim /opt/Mysql_Bak/mysql_bak.sh

  • 腳本文件內(nèi)容
#!/bin/sh
########文件名稱為當(dāng)天時(shí)間#############
time=`date '+%Y-%m-%d %H:%M:%S'`
echo $time
echo '開始備份數(shù)據(jù)庫..'
###################數(shù)據(jù)庫配置信息#######################
user=數(shù)據(jù)庫帳號(hào)
passwd=數(shù)據(jù)庫密碼
dbname=需要備份的數(shù)據(jù)庫名稱
mysql_back_path=/opt/Mysql_Bak/
###################數(shù)據(jù)庫備份信息#######################
/usr/local/mysql/bin/mysqldump -h127.0.0.1 -u$user -p$passwd $dbname | gzip > $mysql_back_path/$time.sql.gz
echo '數(shù)據(jù)庫備份完成'

#刪除當(dāng)前日期-8的備份
oldDate=`date --date='8 day ago' +%Y-%m-%d`;
rm -rf $oldDate*;
echo "刪除$oldDate的備份成功"
  • 腳本授權(quán)

chmod u+x /opt/Mysql_Bak/mysql_bak.sh

  • 加入定時(shí)任務(wù)

// 打開crontab編輯模式,添加一行配置(每天凌晨一點(diǎn)執(zhí)行)
crontab -e

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/Mysql_Bak
0 1 * * * /opt/Mysql_Bak/mysql_bak.sh > /opt/Mysql_Bak/mysql_bak.out 2>&1

// 查看是否加入成功
crontab -l

// 重新加載配置
/bin/systemctl reload crond.service

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容