使用百度網盤實現自動備份VPS

http://ju.outofmemory.cn/entry/51536 通過轟轟烈烈的一輪網盤大戰,百度網盤的容量已經接近無限(好比個人是3000多G ),並且百度網盤已經開放API,因此用來備份VPS再合適不過了。這裏使用的是開源工具 bpcs_uploader來實現。

1、首先安裝bpcs_uploader

1.下載並解壓腳本
wget https://github.com/oott123/bpcs_uploader/zipball/master unzip master
以後會生成一個oott123開頭的目錄,建議更名爲baidu。 而後進入baidu目錄,賦予權限:
chmod +x bpcs_uploader.php
2.配置 首先打開 http://developer.baidu.com/dev#/create/在百度雲建立一個應用 20131004193943 記得打開API 20131004194922  20131004194948 而後點擊基本信息,複製API Key。 20131004195419 運行bpcs_uploader配置(假設已經切換到相應目錄)
./bpcs_uploader.php init
輸入y繼續,粘貼剛剛複製的API Key,以後輸入剛剛設置的目錄(好比個人是eincy-webdata),而後會跳出一段提示,讓你用瀏覽器打開一個連接: 20131004195821 將連接複製到瀏覽器打開,點擊受權。以後把地址欄的連接複製下來,找到其中的access_token,複製那一串東西,大概是這個樣子
3.**05c2ea85d52c2***************a5.2592000.136***9032.3089166538-23**47
粘貼到ssh中,回車,看到Have Fun!以及網盤容量等信息,就證實配置成功。

2、VPS編寫自動備份並上傳腳本。

如下腳本適用於LNMP環境的VPS備份,並已經存在/home/backup目錄。該腳本將備份網站文件、數據庫、nginx配置文件,操做完成後會在百度網盤的「個人應用數據」中找到文件。
#!/bin/sh tar zcvf /home/backup/file.tar.gz /home/wwwroot #備份網站數據 tar zcvf /home/backup/nginx.tar.gz /usr/local/nginx/conf #備份nginx配置文件 killall nginx #備份mysql service mysql stop tar zcvf /home/backup/mysql.tar.gz /usr/local/mysql/var /usr/local/nginx/sbin/nginx service mysql start cd baidu #上傳到網盤,以日期格式命名,實現增量上傳 ./bpcs_uploader.php upload /home/backup/file.tar.gz file_$(date +"%Y%m%d").tar.gz ./bpcs_uploader.php upload /home/backup/nginx.tar.gz nginx_$(date +"%Y%m%d").tar.gz ./bpcs_uploader.php upload /home/backup/mysql.tar.gz mysql_$(date +"%Y%m%d").tar.gz
將以上文本複製到backup.sh,並上傳到VPS的root目錄下,賦予權限
chmod +x backup.sh
輸入sh backup.sh進行一次備份測試,成功後就能夠用crontab實現每日自動備份。
crontab -e
輸入如下內容
00 00 * * * /root/backup.sh
以上內容的意思是每日0點自動執行一次備份腳本。 須要還原的時候,使用如下格式的命令從百度網盤中獲取數據,並解壓到相應目錄便可。
./bpcs_uploader.php download [path_local] [path_remote]

3、寫在最後

以上方法的一個明顯缺點就是上傳慢,大概只有每秒600kb左右,但因爲是在凌晨執行,並且全自動,因此這個不是大問題。還有一個是Key的受權時限問題,這個目前還在測試。
相關文章
相關標籤/搜索