在項(xiàng)目運(yùn)維中研究了數(shù)據(jù)庫(kù)自動(dòng)備份到阿里云OSS的步驟,記錄了阿里云后臺(tái)和服務(wù)器的一系列操作。
阿里巴巴云后臺(tái)準(zhǔn)備工作
進(jìn)入阿里云對(duì)象存儲(chǔ)OSS后端,先打開(kāi)一個(gè),命名為“brain--db”。因?yàn)橹挥糜趥浞輸?shù)據(jù)庫(kù),所以選擇最便宜的“歸檔存儲(chǔ)”作為存儲(chǔ)類型。關(guān)于費(fèi)用,本文最后一節(jié)會(huì)介紹。
然后到這個(gè)的總覽頁(yè)面,找到外網(wǎng)的訪問(wèn),記錄一下。
如果你的ECS和OSS在同一個(gè)區(qū)域,你也可以根據(jù)實(shí)際網(wǎng)絡(luò)情況選擇第二個(gè)或第三個(gè)阿里云oss建站 直接上傳wordpress,存儲(chǔ)速度快。特別是在購(gòu)買阿里云ECS時(shí),默認(rèn)網(wǎng)絡(luò)為經(jīng)典網(wǎng)絡(luò),即同地域的ECS數(shù)據(jù)備份到OSS。在大多數(shù)情況下,您可以選擇綠色圈出的那一種;如果您跨區(qū)域使用非阿里云ECS或服務(wù)器,請(qǐng)選擇紅圈中的那個(gè)。
在進(jìn)入的基礎(chǔ)設(shè)置頁(yè)面,新增生命周期規(guī)則如下,設(shè)置為自動(dòng)刪除超過(guò)30天的文件,避免因容量過(guò)大而浪費(fèi):
接下來(lái)進(jìn)入阿里云RAM訪問(wèn)控制后臺(tái),添加新用戶wordpress做網(wǎng)站,訪問(wèn)方式勾選“ ”。
如圖,這個(gè)賬號(hào)被賦予了OSS管理權(quán)限,這個(gè)賬號(hào)會(huì)在阿里云ECS上使用。
進(jìn)入用戶詳情頁(yè)面wordpress做網(wǎng)站,在用戶區(qū)下,創(chuàng)建。
記錄這個(gè)ID 和 ,稍后設(shè)置服務(wù)器軟件時(shí)使用。
從現(xiàn)在開(kāi)始,稍后將在服務(wù)器設(shè)置中使用 3 個(gè)變量:
-
--ID
-
在服務(wù)器上安裝設(shè)置阿里云OSS命令行工具
具體安裝配置請(qǐng)參考阿里云官方文檔://.html
本文只記錄有用的步驟。
登錄服務(wù)器,運(yùn)行命令安裝
wget http://gosspublic.alicdn.com/ossutil/1.7.3/ossutil64
授予工具權(quán)限
chmod 755 ossutil64
執(zhí)行配置
./ossutil64 config
前幾個(gè)選項(xiàng)一路進(jìn)入,按默認(rèn)配置。當(dāng)達(dá)到前三項(xiàng)時(shí),用第一步得到的值進(jìn)行填充;最后一個(gè)不填,直接回車即可。
安裝配置完成后,可以直接測(cè)試從服務(wù)器保存文件到OSS
比如我的服務(wù)器有一張圖片/home//1.jpg保存到OSS,可以使用如下命令
./ossutil64 cp /home/backup/1.jpg oss://brain-backup-db
提示上傳成功
去阿里云OSS,文件已經(jīng)在里面了
編寫服務(wù)器腳本,定期備份數(shù)據(jù)庫(kù)并上傳到阿里云OSS
做好以上準(zhǔn)備阿里云oss建站 直接上傳wordpress,開(kāi)始編寫腳本:
Backup_Home="/home/backup/"
MySQL_Dump="/usr/local/mysql/bin/mysqldump"
Backup_Database=("website_db_name")
######~Set MySQL UserName and password~######
MYSQL_UserName='username'
MYSQL_PassWord='password'
#Values Setting END!
TodayDBBackup=db-*-$(date +"%Y%m%d").sql
OldDBBackup=db-*-$(date -d -3day +"%Y%m%d").sql
Backup_Sql()
{
${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $1 > ${Backup_Home}db-$1-$(date +"%Y%m%d").sql
/root/ossutil64 cp ${Backup_Home}db-$1-$(date +"%Y%m%d").sql oss://brain-backup-db
}
if [ ! -f ${MySQL_Dump} ]; then
echo "mysqldump command not found.please check your setting."
exit 1
fi
if [ ! -d ${Backup_Home} ]; then
mkdir -p ${Backup_Home}
fi
echo "Backup Databases..."
for db in ${Backup_Database[@]};do
Backup_Sql ${db}
done
echo "Delete old backup files..."
rm -f ${Backup_Home}${OldDBBackup}
將以上代碼保存為.sh文件,上傳到服務(wù)器/etc/cron.daily/
授予執(zhí)行權(quán)限
chmod +x /etc/cron.daily/backup_db.sh
這樣指定的數(shù)據(jù)庫(kù)可以每天備份一次到阿里云OSS
此腳本改編自 LNMP 自己的工具包中的備份腳本。每3天自動(dòng)清理服務(wù)器上的備份文件,每天自動(dòng)上傳最新的數(shù)據(jù)庫(kù)備份到阿里云OSS。
關(guān)于費(fèi)用
選擇存檔存儲(chǔ)是因?yàn)樗阋?。也可以提前?gòu)買資源包,費(fèi)用更便宜。目前100G容量的成本僅為每年27元。
如果購(gòu)買低頻存儲(chǔ),價(jià)格約為歸檔存儲(chǔ)價(jià)格的5倍2.,標(biāo)準(zhǔn)存儲(chǔ)價(jià)格約為歸檔存儲(chǔ)的3倍。不過(guò)標(biāo)準(zhǔn)存儲(chǔ)還有一個(gè)更優(yōu)惠的套餐,就是40G——9元/年。這個(gè)包是必買的,因?yàn)槲覀兊腅CS需要定期做快照,這40G是用來(lái)做快照的。不然你的ECS不小心開(kāi)了快照,你很快就會(huì)發(fā)現(xiàn)賬戶費(fèi)用被一點(diǎn)一點(diǎn)的扣掉了,新手可能會(huì)一頭霧水。購(gòu)買阿里云OSS包,可以點(diǎn)擊這個(gè)鏈接,拉到最下面看到“對(duì)象存儲(chǔ)OSS”。
歡迎點(diǎn)贊、收藏和關(guān)注。更多關(guān)于網(wǎng)站開(kāi)發(fā)、運(yùn)維的技術(shù)干貨,可以來(lái)我的博客找。
博客地址:
文章來(lái)自互聯(lián)網(wǎng),侵權(quán)請(qǐng)聯(lián)系刪除,文章闡述觀點(diǎn)來(lái)自文章出處,并不代表本站觀點(diǎn)。
www.bjcthy.com