亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用對象存儲COS定時遠程備份網站

發布時間:2022-01-05 14:13:04 來源:億速云 閱讀:181 作者:柒染 欄目:云計算

本篇文章為大家展示了如何利用對象存儲COS定時遠程備份網站,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

如何利用對象存儲COS定時遠程備份網站

一、優點分析

內網傳輸:和阿里云OSS一樣,騰訊云COS同樣支持內網和外網文件傳輸,對于騰訊云服務器,使用內網傳輸絕對是最快、最穩定的備份方案!

免費方案:看了下騰訊云COS的定價說明,發現對于備份網站來說簡直是絕佳搭檔,甚至可以說是鉆了個空子(為啥這么說?

看下定價方案:

①、入流量免費

相當于我們上傳文件的流量都是免費的,不區分內外網哦!內網就不說了,都懂。
如何利用對象存儲COS定時遠程備份網站

二、準備工作

①、開通COS,并創建Bucket

訪問騰訊云COS開通對象存儲服務,然后如圖創建Bucket:
如何利用對象存儲COS定時遠程備份網站

三、備份腳本

人生苦短,我用Python,這里就繼續選擇Python SDK來實現,

①、環境準備

如下順序安裝騰訊云Python SDK插件

#安裝pip
yum install python-pip

#升級pip(yum裝的可能版本比較舊)
pip install --upgrade pip

#安裝騰訊云COS SDK插件
pip install qcloud_cos

如果不是Centos,請自行搞定,這里不再贅述。

②、上傳腳本

參考官方SDK文檔,寫了一個簡單夠用的上傳腳本:

# -*- coding: utf-8 -*-
# Upload File To Qcloud COS

from qcloud_cos import CosClient
from qcloud_cos import UploadFileRequest
import sys

#腳本需要傳入6個參數
if ( len(sys.argv) > 5 ):
    appid      = int(sys.argv[1])
    secret_id  = sys.argv[2].decode('utf-8')
    secret_key = sys.argv[3].decode('utf-8')
    bucket     = sys.argv[4].decode('utf-8')
    domain     = sys.argv[5].decode('utf-8')
    filePath = sys.argv[6].decode('utf-8')
    fileName = filePath.split("/")[-1]
else:
    print("Example: python %s appid secret_id secret_key Bucket zhangge.net /data/backup.zip">

使用方法:將上述代碼保存為 cos.upload.py,并上傳到服務器,執行如下命令可開始上傳文件到OSS:

python /data/oss.upload.py appid secret_id secret_key Bucket名稱 域名 /data/zhangge.net_1.zip

其中:

  • 1~3個參數是appid、認證ID和認證密鑰,也就是前文創建并備忘的密鑰信息;

  • 第4個參數是前文創建的Bucket名稱,比如mybackup

  • 第5個參數是需要備份的域名(新增的:主要是為了區分下)

  • 第6個參數是要上傳的本地文件的絕對路徑

執行后,就能在COS的Object界面看到了上傳的文件:
如何利用對象存儲COS定時遠程備份網站

四、定時備份

有了上傳腳本,繼續結合之前張戈博客分享的七天循環備份腳本,實現循環備份到COS了,既安全還節省COS空間。

①、適合COS七天循環備份腳本
#!/bin/sh
###################################################################
#  Web Backup version 1.0.0 Author: Jager <ge@zhangge.net>        #
# For more information please visit https://zhangge.net/5117.html #
#-----------------------------------------------------------------#
#  Copyright ?2016 zhangge.net. All rights reserved.              #
###################################################################

isDel=n
args=$#
isDel=${!args}
mypassword=123456
test -f /etc/profile && . /etc/profile >/dev/null 2>&1
baseDir=$(cd $(dirname $0) && pwd)
zip --version >/dev/null || yum install -y zip
ZIP=$(which zip)
TODAY=`date +%u`
PYTHON=$(which python)
MYSQLDUMP=$(which mysqldump)

# 新增的COS上傳文件函數,請按照實際情況修改appID,認證KEY、認證密鑰和Bucket名稱!!!
uploadToCOS()
{
    $PYTHON $baseDir/cos.upload.py appID 認證KEY 認證密鑰 Bucket名稱 $1 $2
    if [[ $? -eq 0 ]] &&  [[ "$isDel">
②、使用方法

將上述代碼作如下修改:

I、根據實際情況修改上述代碼中的COS上傳函數代碼,比如密鑰對和Bucket名稱(參考前文)
II、替換代碼中的mypassword=123456為自己設置的壓縮包密碼,不修改的話壓縮文件解壓密碼為123456

然后,將代碼保存為backup.sh,上傳到服務器(建議存放到和前文python腳本的相同目錄),比如/data/backup.sh,最后如下添加定時任務:

#編輯crontab
[root@AlyServer ~]# crontab -e

#然后添加如下內容:

#備份數據庫(參數依次為:db、域名、數據庫名稱、數據庫用戶名、對應密碼、備份路徑 [可選:y 刪除本地壓縮包])
10 3 * * * bash /data/backup.sh db zhangge.net zhangge root 123456 /home/wwwbackup/zhangge.net > /dev/null 2>&1

#備份網站文件(參數依次為:file、域名、網站根目錄、備份路徑 [可選:y 刪除本地壓縮包])
15 3 * * * bash /data/backup.sh file zhangge.net /home/wwwroot/zhangge.net /home/wwwbackup/zhangge.net >/dev/null 2>&1

#按下鍵盤esc,輸入 :wq 保存crontab即可

全部完成后,就能實現本地7天循環備份和COS遠程備份了!

在文章的最后,為了方便廣大代碼小白朋友,特提供本文涉及腳本的打包下載:

五、幕后花絮

在折騰SDK的時候,第一眼其實被騰訊云的說明文檔虐到了:

如何利用對象存儲COS定時遠程備份網站

只說了如何安裝SDK插件,然后直接來個def函數,然后就沒然后了,到底如何import這個SDK?一臉懵逼。
最后在github的 simple.py 中才找到了完整的DEMO:
https://github.com/tencentyun/cos-python-sdk/blob/3.3/sample.py

上述內容就是如何利用對象存儲COS定時遠程備份網站,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陆丰市| 乌拉特前旗| 天全县| 平原县| 鄂州市| 绥中县| 大新县| 秭归县| 正宁县| 济宁市| 安西县| 太仓市| 崇文区| 灵台县| 固安县| 铜陵市| 南丹县| 会泽县| 平安县| 武汉市| 宁晋县| 黔西县| 清水河县| 高青县| 鸡东县| 瑞安市| 宁夏| 光山县| 思南县| 锦屏县| 明光市| 通河县| 轮台县| 梅州市| 图木舒克市| 保亭| 沁阳市| 彭阳县| 滁州市| 阆中市| 湘西|