国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Shell腳本自動備份MySQL到FTP并定期清理過期備份

2019-10-26 18:43:49
字體:
供稿:網(wǎng)友

以前公司用的一個網(wǎng)上找的MySQL自動備份到FTP的Shell腳本,一直用著不錯。但是問題就是隨著備份文件的越來越多,不得不定期清理FTP上的老備份文件,十分的不便。

實際上MySQL備份無需保留太長時間的,如果能有自動清理舊的備份文件的功能就好了。不過網(wǎng)上找了一下,雖然也有這方面的腳本,不過可能不太符合我的需求吧。于是只能自己手動改下以前的那個Shell腳本來實現(xiàn)咯。

首先我們要確定保留備份的時間,我覺得一個月的備份保留就足夠了。因為基本不會出現(xiàn)1個月后要恢復(fù)1個月之前備份的情況。(如果有請自己手動備份,畢竟自動備份還是不能取代手動備份的部分)。那么我們的思路就出來了:在上傳以當(dāng)天日期為文件名的備份的時候,順便刪除下一個月之前的同日期備份,就可以確保服務(wù)器上保留的是最近一個月的備份了。

然后我們需要知道Linux下的一個命令:date。這是個可以查看當(dāng)前服務(wù)器的時間日期信息的命令。當(dāng)然這里我們需要知道的是這個命令的參數(shù),畢竟我們需要得到的是日期部分。

輸入下面這個命令,可以看到“年-月-日”的輸入,類似“2011-09-09”:

代碼如下:
date +%Y-%m-%d

那么,如果我們要得到1個月之前的日期怎么辦呢?使用下面的這條命令就可以得到:

代碼如下:
date -d last-month +%Y-%m-%d

怎么樣?簡單吧。實際備份的時候,因為之前腳本使用的是“m-d-Y”的形式,也就是“月-日-年”的形式,所以我稍微做了下調(diào)整。但是下面這個Shell腳本中的是按照“年-月-日”來產(chǎn)生文件名的。

于是,給出整個備份Shell腳本,需要的朋友只需要填寫下有中文說明的部分,即可在自己的Linux服務(wù)器上使用。使用辦法:復(fù)制到某個目錄下,然后給予執(zhí)行權(quán)限,再在cron中設(shè)置每天指定時間運行即可。(關(guān)于這部分,請自行查找相關(guān)說明,這里不再復(fù)述)

帶自動清理功能的MySQL備份到FTP的Shell腳本如下:

代碼如下:
#!/bin/bash
 
MyUSER="db_username"     # 數(shù)據(jù)庫用戶名,建議使用root賬戶或者擁有全局權(quán)限的用戶名
MyPASS="db_password"       # 數(shù)據(jù)庫密碼
MyHOST="localhost"          # 數(shù)據(jù)庫服務(wù)器
 
# Linux bin paths, change this if it can't be autodetected via which command
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
CHOWN="$(which chown)"
CHMOD="$(which chmod)"
GZIP="$(which gzip)"
 
# 數(shù)據(jù)庫備份的路徑
DEST="/home/backup"
 
# Main directory where backup will be stored
MBD="$DEST/mysql"
 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 讷河市| 宝山区| 岳阳市| 临武县| 怀远县| 横峰县| 邹平县| 迭部县| 集贤县| 中牟县| 信丰县| 平顶山市| 岚皋县| 广元市| 新安县| 沙河市| 阿勒泰市| 天柱县| 巴南区| 长宁区| 渭源县| 醴陵市| 黄浦区| 尤溪县| 翁源县| 枣强县| 汝南县| 永定县| 内黄县| 连云港市| 那坡县| 增城市| 文化| 姚安县| 斗六市| 朝阳区| 孝感市| 开封市| 海阳市| 陕西省| 永川市|