腳本需求:
每天備份mysql數(shù)據(jù)庫,保留7天的腳本。
存放在/opt/dbbak目錄中。
腳本名稱為database_xxxx-xx-xx.sql
腳本內(nèi)容:
#!/bin/bash export NOW="$(date +"%Y-%m-%d")" export DATA_DIR=/opt/dbbak /usr/local/ywgh/mysql/bin/mysqldump --opt -uroot –p 'mypassword' ywghblog > $DATA_DIR/ywghblog/ywghblog_$NOW.sql find $DATA_DIR/ywghblog -type f -name "*.sql" -mtime +7 -exec rm -rf {} \;
腳本解釋:
首先定義一個變量NOW取當(dāng)前的年月日,
在定義一個目錄的變量DATA_DIR,
然后使用mysqldump命令將要備份的庫備份到指定的目錄,
最后使用find命令找到指定目錄的sql文件,并且將7天之外的文件刪除。
-mtime + 就是找到7天之外的文件
-mtime – 就是找到7天之內(nèi)的文件
-exec就是執(zhí)行后邊的命令
請根據(jù)自己的需求修改腳本。
知識點擴展:自動備份MYSQL數(shù)據(jù)庫腳本
vi dbbackup.sh在打開的編輯器輸入:
#!/bin/bash /usr/local/mysql/bin/mysqldump -uuser -ppasswd databasename > /home/wwwroot/backup/date_$(date '+%Y%m%d').sql
命令的意思是用mysqldump
導(dǎo)出名為databasename
的數(shù)據(jù)庫到/home/wwwroot/backup/文件夾并命名為date_日期.sql,-u后面的是你的Mysql的用戶名,-p后面的是Mysql密碼,databasename是要備份數(shù)據(jù)庫名字,把這三個替換成自己的。
修改權(quán)限并執(zhí)行備份腳本看能否備份成功:
chmod +x dbbackup.sh sh dbbackup.sh
如果一切檢查沒問題了,就創(chuàng)建定時任務(wù)自動備份你的數(shù)據(jù)吧,輸入命令:
crontab -e
在打開的文件輸入定時任務(wù):
56 23 * * * /root/dbbackup.sh
然后按esc鍵后輸入:wq退出編輯并保存文件。
好了,定時任務(wù)創(chuàng)建好了,每天23點56分備份執(zhí)行dbbackup.sh備份數(shù)據(jù)庫。
總結(jié)
以上所述是小編給大家介紹的mysql備份腳本并保留7天,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
標(biāo)簽:湖南 臨汾 云浮 湖北 武威 白銀 烏海 聊城
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql備份腳本并保留7天》,本文關(guān)鍵詞 mysql,備份,腳本,并,保留,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。