1. 程式人生 > 其它 >超詳細的Linux資料庫定時備份及上傳至阿里雲oss

超詳細的Linux資料庫定時備份及上傳至阿里雲oss

技術標籤:linux指令碼linuxmysql資料庫

Linux資料庫定時備份及上傳至阿里雲oss

備份資料庫指令碼 命名為(xxx.sh)

#當前時間
dd=`date +%Y-%m-%d-%H-%M-%S`
echo "執行sql檔案備份!備份時間: $dd"
#執行備份命令 -u 資料庫名 -p 資料庫密碼 -h 主機地址 -P mysql埠 -E後是 要備份的資料庫名 > 要備份到的地址  
#.gz 是將備份好的檔案壓縮
mysqldump -u使用者名稱 -p密碼 -h主機號 -P資料庫埠號 --single-transaction --default-character-set=utf8 -R -E 要備份的資料庫名| gzip>儲存路徑/資料庫名-$dd.sql.gz
#列印備份成功日誌
echo "xxx資料庫sql檔案備份成功!  xxx-$dd.sql 壓縮成功!"
echo "壓縮後文件儲存路徑為---->> 儲存路徑/資料庫名-$dd.sql.gz"
echo "執行檔案上傳至阿里雲oss!上傳時間為:$dd"
#執行檔案上傳至阿里雲oss操作 /ossutil64 cp 是ossutil64檔案上傳命令 你要上傳的檔案  oss://你的桶名backetName 
/ossutil64 cp 儲存路徑/資料庫名-$dd.sql.gz oss://桶名/$dd/
echo "資料庫備份檔案上傳至阿里雲oss成功!"
echo "================================================================"

ossutil64 下載

官方文件路徑:https://help.aliyun.com/document_detail/120075.html

  • 首先需要下載wget命令:
apt install wget
  • 下載
wget http://gosspublic.alicdn.com/ossutil/1.7.0/ossutil64                           
  • 修改檔案許可權
chmod 755 ossutil64
  • 使用互動式配置生成配置檔案
./ossutil64 config
  • 接著進行配置
endpoint:你的阿里雲物件儲存 endpoint
accessKeyID:你的阿里雲物件儲存 accessKeyID
accessKeySecret:你的阿里雲物件儲存 accessKeySecret
stsToken:------stsToken可以不填,直接enter跳過------

配置完成即可命令測試

/ossutil64 cp 上傳的檔案路徑 oss://桶名

成功日誌如下:
Succeed: Total num: 1, size: 6,952,682. OK num: 1(upload 1 files).

average speed 2205000(byte/s)

3.154561(s) elapsed

Linux設定定時任務

首先需要下載 “crontab
apt install crontab
啟動
service cron start    //啟動服務
檢視執行狀態
service cron status   //檢視執行狀態     返回---->>>  [ ok ] cron is running.  ----<<表示正在執行
建立定時任務
crontab –e : 修改 crontab 檔案. 如果檔案不存在會自動建立。 

i 進入編輯 :wq 儲存退出

分 時 日 月 年
* * * * * /需要執行的檔案 >>/日誌檔案儲存路徑
#每天2點執行一次
0 2 * * * 指令碼路徑/xxx.sh >>日誌儲存路徑/xxx.txt
檢視日誌
#             日誌檔案路徑
tail -300f 日誌儲存路徑/xxx.txt

cron命令如下:

service cron start    //啟動服務
service cron stop     //關閉服務 
service cron restart  //重啟服務
service cron status   //檢視執行狀態 

crontab –e : 修改 crontab 檔案. 如果檔案不存在會自動建立。 
crontab –l : 顯示 crontab 檔案。 
crontab -r : 刪除 crontab 檔案。
crontab -ir : 刪除 crontab 檔案前提醒使用者。

資料庫gz檔案恢復

#解壓檔案並執行資料恢復                  使用者名稱      密碼       資料庫名
gunzip < 需要恢復的檔案路徑/xxx.sql.gz | mysql -u使用者名稱 -p密碼 資料庫名