新聞中心
環(huán)境:阿里云服務(wù)器centos7.4 + MySQL5.6

創(chuàng)新互聯(lián)成立10多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站策劃、網(wǎng)頁設(shè)計、國際域名空間、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
基本思路:
1、編寫shell腳本,備份數(shù)據(jù)庫到指定目錄下
2、編寫python腳本,把文件上傳到OSS
3、把shell腳本和Python腳本添加linux的crontab定時器,設(shè)置定時執(zhí)行
首先,環(huán)境要配置好,Python環(huán)境,centos 7 自帶Python,一般可以直接使用
查看Python版本:python -V
在創(chuàng)建一個目錄/opt/backMySQL/xxx,在目錄/opt/backMySQL下編寫一個shell腳本backup.sh
#!/bin/sh
cd /opt/backMySQL/xxx
echo "You are in /opt/backMySQL/xxx"
Now=$(date +"%Y-%m-%d")
File=fileName-$Now.sql
mysqldump -urooot -ppassword databaseName > $File
echo "Your database backup successfully completed"
#刪除昨天的文件
SevenDays=$(date -d -1day +"%Y-%m-%d")
if [ -f /opt/backMySQL/xxx/fileName-$SevenDays.sql ]
then
rm -rf /opt/backMySQL/xxx/fileName-$SevenDays.sql
echo "You have delete 1 tays ago bak file"
else
echo "1 days ago bak file not exist"
fi
把第6、12、14行中的fileName替換成你想要的文件名,第7行換成數(shù)據(jù)庫的用戶和密碼
執(zhí)行這個腳本,就可以把數(shù)據(jù)庫備份到/opt/backMySQL/xxx目錄下了
再編寫一個Python腳本backupToOSS.py
# -I- coding: utf-8 -*-
import os
import oss2
path = '/opt/backMySQL/naner_zhongkong/'
auth = oss2.Auth('您的AccessKeyId','您的AccessKeySecret')
bucket = oss2.Bucket(auth,'您的Endpoint','您的Bucket名')
#獲取目錄下的所有文件
f_list = os.listdir(path)
for i in f_list:
# os.path.splitext():分離文件名與擴展名
if os.path.splitext(i)[1] == '.sql':
fileName = i
bucket.put_object_from_file('remote.txt','content of object')
注意:Python語言縮進有規(guī)定語法,不能隨意縮進,記住縮進增加只用在以:結(jié)束的語句之后,縮進4個空格,而之后必須恢復(fù)到之前的縮進格式
執(zhí)行:python backupToOSS.py
可以把文件上傳到OSS上了
設(shè)置定時器
crontab -e
表示在每天1:05執(zhí)行backup.sh、每天1:15執(zhí)行backupToOSS.py
本文標題:CentOS7Linux設(shè)置自動備份數(shù)據(jù)庫到阿里云OSS
轉(zhuǎn)載來源:http://fisionsoft.com.cn/article/coiepse.html


咨詢
建站咨詢
