備份數(shù)據(jù)庫(kù)并上傳至阿里云OSS

下載OSS工具ossutil

wget http://gosspublic.alicdn.com/ossutil/1.5.0/ossutil64
#下載ossutil
chmod 755 ossutil64
#授權(quán)
cp ossutil64 /usr/local/bin/
#復(fù)制命令可以到bin目錄下直接執(zhí)行
ossutil64 config
#創(chuàng)建配置文件

該命令創(chuàng)建將一個(gè)配置文件,在其中存儲(chǔ)配置信息缎浇。在此之前你需要在OSS創(chuàng)建一個(gè)相關(guān)的bucket扎拣,我的bucket名字叫做cnlive-mysql-bak
請(qǐng)輸入配置文件路徑(默認(rèn)為:/home/user/.ossutilconfig,回車(chē)將使用默認(rèn)路徑素跺。)
如需設(shè)置為其它路徑二蓝,在使用命令時(shí)需要將--config-file選項(xiàng)設(shè)置為該路徑.
對(duì)于下述配置,回車(chē)將跳過(guò)相關(guān)配置項(xiàng)的設(shè)置亡笑,配置項(xiàng)的具體含義侣夷,請(qǐng)使用"help config"命令查看。
請(qǐng)輸入endpoint:http://oss-cn-shenzhen.aliyuncs.com

endpoint請(qǐng)參考oss訪(fǎng)問(wèn)域名

請(qǐng)輸入accessKeyID:yourAccessKeyID
請(qǐng)輸入accessKeySecret:yourAccessKeySecret
請(qǐng)輸入stsToken:

accessKey等問(wèn)題請(qǐng)參考阿里云AK創(chuàng)建
ossuti的所有使用問(wèn)題仑乌,請(qǐng)參考 ossutil阿里云官方文檔修改命令

編寫(xiě)腳本

Mysql 5.5版本

#!/bin/sh 
#備份數(shù)據(jù)庫(kù)到OSS
cd /data/mysqlbak  #前往備份目錄
echo "您處于數(shù)據(jù)庫(kù)備份目錄"
Now=$(date +"%d-%m-%Y")  #獲取當(dāng)前日期
DB=databases #數(shù)據(jù)庫(kù)名稱(chēng)
File=$DB-$Now.sql  #字符串組合生成文件名
mysqldump -uroot -p123456 $DB > $File  #備份主命令百拓,此處的db是你要備份的數(shù)據(jù)庫(kù)
echo "數(shù)據(jù)庫(kù)備份完成"
SevenDays=$(date -d -7day  +"%d-%m-%Y") #生成7天前的文件名,用于刪除晰甚,可自行改為所需時(shí)長(zhǎng)
if [ -f /data/mysqlbak/$DB-$SevenDays.sql ] #判斷7天前的備份是否存在
then
rm -rf /data/mysqlbak/$DB-$SevenDays.sql  #存在即刪除
echo "您已刪除7天前的備份文件"
else
echo "7天前的文件不存在 "
fi

ossutil64 cp /data/mysqlbak/*.sql oss://cnlive-mysql-bak/$DB/
#填寫(xiě)你的oss信息使用ossutil64命令將其cp到OSS上
echo "您數(shù)據(jù)庫(kù)備份已上傳至阿里云OSS"

MySQL 5.6以上版本

設(shè)置免密登錄

因?yàn)镸ySQL5.6以上版本如果使用密碼需要在執(zhí)行命令后的提示輸入里輸入密碼,或者在指定的安全文件內(nèi)指定密碼衙传,不能在-p后面直接追加密碼
所以這里我們會(huì)使用到mysql_config_editor這個(gè)工具
mysql_config_editor是MySQL5.6.6以后版本的工具。這個(gè)工具可以認(rèn)證信息加密存儲(chǔ)在.mylogin.cnf中厕九,通常這個(gè)文件在Linux用戶(hù)的家目錄蓖捶,當(dāng)然password信息是加密的,無(wú)需擔(dān)心泄露問(wèn)題

mysql_config_editor set --login-path=[認(rèn)證信息名] user=[用戶(hù)名] --password
#認(rèn)證信息名是該條認(rèn)證信息的名稱(chēng)扁远,后續(xù)登錄時(shí)直接使用認(rèn)證信息名即可登錄俊鱼,無(wú)需再次輸入密碼。
#這里需要注意的是密碼里面不能含有特殊字符畅买,建議創(chuàng)建一個(gè)新的用戶(hù)來(lái)進(jìn)行備份操作
mysql --login-path=[認(rèn)證信息名]
#直接使用認(rèn)證信息名來(lái)登錄
image.png

修改mysqldump命令的相關(guān)參數(shù)

免密登錄成功并闲,接下來(lái)就是修改腳本中mysqldump命令的相關(guān)參數(shù)改為免密登錄模式

#!/bin/sh 
#備份數(shù)據(jù)庫(kù)到OSS
cd /data/mysqlbak  #前往備份目錄
echo "您處于數(shù)據(jù)庫(kù)備份目錄"
Now=$(date +"%d-%m-%Y")  #獲取當(dāng)前日期
DB=databases #數(shù)據(jù)庫(kù)名稱(chēng)
File=$DB-$Now.sql  #字符串組合生成文件名
mysqldump --login-path=[認(rèn)證信息名] $DB > $File  #備份主命令,此處的db是你要備份的數(shù)據(jù)庫(kù),使用--login-path參數(shù)免密登錄
echo "數(shù)據(jù)庫(kù)備份完成"
SevenDays=$(date -d -7day  +"%d-%m-%Y") #生成7天前的文件名谷羞,用于刪除帝火,可自行改為所需時(shí)長(zhǎng)
if [ -f /data/mysqlbak/$DB-$SevenDays.sql ] #判斷7天前的備份是否存在
then
rm -rf /data/mysqlbak/$DB-$SevenDays.sql  #存在即刪除
echo "您已刪除7天前的備份文件"
else
echo "7天前的文件不存在 "
fi

ossutil64 cp /data/mysqlbak/*.sql oss://cnlive-mysql-bak/$DB/
#填寫(xiě)你的oss信息使用ossutil64命令將其cp到OSS上
echo "您數(shù)據(jù)庫(kù)備份已上傳至阿里云OSS"

寫(xiě)入定時(shí)任務(wù)

mkdir /data/mysqlbak
#創(chuàng)建腳本中需要用到的文件夾
crontab  -e
0 1 * * * /bin/bash /root/mysqlbackup.sh

有錯(cuò)請(qǐng)指出,不喜勿噴,不接受?chē)娢倚“紫睿m然這是事實(shí)蠢壹,如果要噴請(qǐng)預(yù)約

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市九巡,隨后出現(xiàn)的幾起案子图贸,更是在濱河造成了極大的恐慌,老刑警劉巖冕广,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件求妹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡佳窑,警方通過(guò)查閱死者的電腦和手機(jī)制恍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)神凑,“玉大人净神,你說(shuō)我怎么就攤上這事「任” “怎么了鹃唯?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)瓣喊。 經(jīng)常有香客問(wèn)我坡慌,道長(zhǎng),這世上最難降的妖魔是什么藻三? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任洪橘,我火速辦了婚禮,結(jié)果婚禮上棵帽,老公的妹妹穿的比我還像新娘熄求。我一直安慰自己,他們只是感情好逗概,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布弟晚。 她就那樣靜靜地躺著,像睡著了一般逾苫。 火紅的嫁衣襯著肌膚如雪卿城。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天铅搓,我揣著相機(jī)與錄音瑟押,去河邊找鬼。 笑死狸吞,一個(gè)胖子當(dāng)著我的面吹牛勉耀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蹋偏,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼便斥,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了威始?” 一聲冷哼從身側(cè)響起枢纠,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎黎棠,沒(méi)想到半個(gè)月后晋渺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脓斩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年木西,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片随静。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡八千,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出燎猛,到底是詐尸還是另有隱情恋捆,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布重绷,位于F島的核電站沸停,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏昭卓。R本人自食惡果不足惜愤钾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望候醒。 院中可真熱鬧绰垂,春花似錦、人聲如沸火焰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)昌简。三九已至占业,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纯赎,已是汗流浹背谦疾。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留犬金,地道東北人念恍。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓六剥,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親峰伙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子疗疟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355