摘要:七牛的,到獲取,登錄七牛后在七牛的帳號設置密鑰中可找到。要備份的網站代碼目錄。計劃任務腳本定時執行時間,默認凌晨分進行備份配置內容結束。
20140211234856
這是我公開發布的第一個Shell腳本程序,這能極大的方便Linux服務器管理員使用它自動備份數據到七牛云存儲。
應網友需求發布了Windows版本,詳情見:http://wyr.me/330.html
這個Linux腳本用shell編寫,源代碼是公開的,上傳組件利用了七牛提供的qrsync。你可以下載我的Shell進行修改(代碼全部做了中文注釋)。當然對于普通用戶,你可以直接按照下面的步驟輕松進行服務器數據備份。
這個腳本支持的備份程序有:網站的代碼目錄,指定的MySQL數據庫,Nginx或Apache的配置文件(即一個的數據庫導出備份和兩個目錄的備份。
腳本備份順序:1.刪除本地保存的前n天數據(可指定n的數值),自動導出指定的數據庫.sql文件,壓縮數據庫為以時間命名的tar.gz格式文件。2.壓縮網站代碼目錄下的所有文件并打包為以時間命名的tar.gz格式文件。3.壓縮配置文件目錄下的所有文件并打包為以時間命名的tar.gz格式文件。4.將上述三個壓縮文件包加密后壓縮為zip加密壓縮文件,本地保留3天備份。4.將這個zip加密壓縮文件放入一個uuid生成的隨機目錄中。5.將最新的一個zip加密文件連同起所在目錄上傳到用戶指定的七牛云存儲,同時生成一個防破解的下載地址發送到管理員郵箱。
從上述順序可以看出,這個腳本對網站備份及上傳的處理是非常安全的,對數據進行了多級加密。
以下是面對新手的簡單視頻教程:
正式開始安裝腳本程序:
首先,使用putty或同類軟件通過SSH登陸Linux服務器。【請以root身份登陸,否則有可能導致備份失敗!】
1
cd /root
執行下面這個命令下載對應的腳本程序。(如果你擔心這個數據包中的內容是否安全,可以本地下載后使用七牛官方的qrsync文件替換,也可以使用文本文檔打開.sh程序查看這個腳本的源代碼。本人承諾沒有任何竊取數據的代碼,請在http://wyr.me下載本數據包以確保您的數據安全)
Linux 32位版本:
1
wget http://wyrapp.qiniudn.com/linux32bfjb.tar.gz
Linux 64位版本:
1
wget http://wyrapp.qiniudn.com/linux64bfjb.tar.gz
Mac OS 版本:
1
wget http://wyrapp.qiniudn.com/macbfjb.tar.gz
下載完畢后,接著順序執行如下命令:
1
tar -xzvf linux32bfjb.tar.gz #解壓文件,請將文件名修改為對應版本。
1
sh /root/bfjb/bfjb.sh #執行向導程序進行配置
接下來會進入一個引導界面,如果你的Linux安裝了中文支持,則可以看到中文標題。如果沒有安裝也沒關系,為了兼容所有操作系統我使用英文作為提示。按提示輸入相應信息。
QQ20140211234925
以上英文提示的信息輸入的順序和下面的配置代碼順序一樣,對應輸入即可,很方便。
01
以下是配置內容,直接運行腳本即可出現配置向導,請勿手動修改!02
03
七牛綁定的空間名稱(bucket)。04
QINIUMC=x
05
06
QINIUJB=/root/bfjb
07
08
QINIUAccessKey=abcd1234
09
10
QINIUSecretKey=abcd1234
11
12
BFpassword=x123
13
14
MYSQL_SJNAME=x123
15
16
MYSQL_USER=root
17
18
MYSQL_PASS=x123
19
20
MAIL_TO=a@12345679.cn
21
22
WEB_DATA=/home/wwwroot
23
24
MYSQL_DATA=/usr/local/mysql/bin/mysqldump
25
26
PZWJ_DATA=/usr/local/nginx/conf
27
28
BDBF=/home/backup
29
30
bdblsjday=3
31
32
JHRW="01 00 * * *"
33
值得注意的是,為了您更編輯的使用這個腳本程序,我已經添加了crontab處理程序,只需在向導中(提示的地方)輸入即可。例如:”01 00 * * *”。
crontab的范例格式:
下面是c r o n t a b的格式:
分< >時< >日< >月< >星期< >要運行的命令
其中< >表示空格。
C r o n t a b文件的一個條目是從左邊讀起的,第一列是分,最后一列是要運行的命令,它位
于星期的后面。
在這些域中,可以用橫杠-來表示一個時間范圍,例如你希望星期一至星期五運行某個作
業,那么可以在星期域使用1 – 5來表示。還可以在這些域中使用逗號“,”,例如你希望星期一
和星期四運行某個作業,只需要使用1 , 4來表示。可以用星號來表示連續的時間段。如果你
對某個表示時間的域沒有特別的限定,也應該在該域填入。該文件的每一個條目必須含有5
個時間域,而且每個域之間要用空格分隔。該文件中所有的注釋行要在行首用#來表示。
crontab條目舉例
這里有c r o n t a b文件條目的一些例子:
30 21* * * /apps/bin/cleanup.sh
上面的例子表示每晚的2 1 : 3 0運行/ a p p s / b i n目錄下的c l e a n u p . s h。
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、1 0、2 2日的4 : 4 5運行/ a p p s / b i n目錄下的b a c k u p . s h。
10 1 * * 6,0 /bin/find -name “core” -exec rm {} ;
上面的例子表示每周六、周日的1 : 1 0運行一個f i n d命令。
0,30 18-23 * * * /apps/bin/dbcheck.sh
上面的例子表示在每天1 8 : 0 0至2 3 : 0 0之間每隔3 0分鐘運行/ a p p s / b i n目錄下的d b c h e c k . s h。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11 : 0 0 p m運行/ a p p s / b i n目錄下的q t r e n d . s h。
你可能已經注意到上面的例子中,每個命令都給出了絕對路徑。當使用c r o n t a b運行s h e l l
腳本時,要由用戶來給出腳本的絕對路徑,設置相應的環境變量。記住,既然是用戶向c r o n
提交了這些作業,就要向c r o n提供所需的全部環境。不要假定c r o n知道所需要的特殊環境,它
其實并不知道。所以你要保證在s h e l l腳本中提供所有必要的路徑和環境變量,除了一些自動
設置的全局變量。
———————–
知識共享許可協議
本作品采用知識共享署名-非商業性使用-禁止演繹 2.5 中國大陸許可協議進行許可。
原創文章,您可以在上述協議允許的范圍內轉載(轉載及表示您同意上述協議),請注明: 文章來自王軼的博客,本文地址:原創自動備份Linux服務器數據到七牛云存儲Shell腳本程序-用七牛自動備份VPS中的網站數據(http://wyr.me/314.html)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20680.html
摘要:截圖順應網友需求寫了版本的服務器備份程序七牛云存儲。七牛的,到獲取,登錄七牛后在七牛的帳號設置密鑰中可找到。 QQ截圖20140212171616 順應網友需求寫了Windows版本的服務器備份程序for七牛云存儲。老規矩,為了數據安全,用開放源代碼的bat來編寫。 Linux版本見:http://wyr.me/314.html 備份程序下載(還是那句話,為了安全,你可以去七牛官方...
對于網站存儲的需求,大多數人還是以私有網盤為主,目的是為了可以存儲屬于私人的視頻、文檔、音頻等資料。但是,也有不少的人想要搭建一個公共的網盤,主要目的是可以方便所有人查看、瀏覽和下載、使用,同時也提供視頻在線播放,變成影視站點。這樣的公共網盤服務搭建起來并不是很復雜,但是苦于高昂的存儲費用,有的人盯上了超大容量且免費的網盤服務,例如OneDrive,團隊版甚至可以達到TB以上,將OneDrive變...
閱讀 1271·2021-09-27 13:35
閱讀 2568·2021-09-06 15:12
閱讀 3387·2019-08-30 15:55
閱讀 2835·2019-08-30 15:43
閱讀 437·2019-08-29 16:42
閱讀 3450·2019-08-29 15:39
閱讀 3069·2019-08-29 12:28
閱讀 1245·2019-08-29 11:11