VPS備份網(wǎng)站文件和數(shù)據(jù)庫到云存儲的shell腳本工具
今天分享的工具也和備份有關(guān),而且是遠(yuǎn)程備份,這個工具算是我的無聊之作吧,雖說WordPress已經(jīng)有wp2pcs這類備份插件了。相信折騰VPS的站長會喜歡我這個工具的,因為它不會常駐占用資源。
一、工具檔案
工具名稱:Backup_to_qiniu_by_zhangge-Ver1.0.sh
工具語言:Shell,json
工作環(huán)境:Linux
功能描述:通過Linux系統(tǒng)計劃任務(wù),將網(wǎng)站文件及數(shù)據(jù)庫備份到七牛的免費云存儲空間
額外說明:
①、工具默認(rèn)使用zip打包,如果系統(tǒng)未安裝zip,將使用tar打包成tar.gz格式;
②、為了避免中文亂碼,工具中全部采用洋文,張戈水平有限,可能存在蹩腳語法(下文有中文對照);
③、使用原生交互風(fēng)格,未做界面菜單式優(yōu)化,反正初始化也就用一次。
二、使用說明
①、下載工具:
進入VPS系統(tǒng),執(zhí)行以下命令下載工具:
- cd && wget http://mymsdn.qiniudn.com/backup/Backup_to_qiniu_by_zhangge-Ver1.0.sh
②、運行工具,并根據(jù)工具提示輸入信息:
- cd && ./Backup_to_qiniu_by_zhangge-Ver1.0.sh
過程如下:
- [root@jiukeyi ~]# ./Backup_to_qiniu_by_zhangge-Ver1.0.sh
- Please input the webroot like /domain/zhangge.net/public_html:輸入你網(wǎng)站文件存放路徑
- Please input the access_key:輸入七牛的access_key
- Please input the secret_key:輸入七牛的secret_key
- Please input the bucket name:輸入七牛的空間名
- Please input the mysql username:輸入數(shù)據(jù)庫賬號
- Please input the mysql password:輸入數(shù)據(jù)庫密碼
- Please input the database name:輸入數(shù)據(jù)庫名稱
- Please input the backup path:輸入備份文件的臨時存放路徑,直接回車將存放在/usr/local/qiniu/backup
- Please input the backup rate time(like 1/2/3..30):輸入備份間隔,比如輸入7表示每七天備份一次
- #回車后,出現(xiàn)下圖信息則為成功:
- =========================The crontab list=================================
- #Add by QN_Backup Scripts
- 0 0 */7 * * sh /usr/local/qiniu/QN_backup.sh /www/web/default test2 123456 /www/backup_temp mytest
- =========================The crontab list=================================
- compelet!
下面貼上測試截圖:
執(zhí)行完成后,可以復(fù)制crontab的命令行,手動執(zhí)行試試效果:
- sh /usr/local/qiniu/QN_backup.sh /www/web/default test2 123456 /www/backup_temp mytest
備份成功后,七牛對應(yīng)的空間將可以看到剛剛備份的文件:
以上過程為初始化,只需執(zhí)行一次即可,當(dāng)然重復(fù)執(zhí)行也沒關(guān)系哈,只是覆蓋了設(shè)置而已。
三、后期維護
做完初始化設(shè)置之后,如果想改變備份間隔或者備份目標(biāo)之類的,你可以編輯系統(tǒng)計劃任務(wù),來重新定義:
- #執(zhí)行crontab -e,打開計劃任務(wù)編輯界面
- [root@jiukeyi ~]# crontab -e
- #Add by QN_Backup Scripts
- 0 0 */7 * * sh /usr/local/qiniu/QN_backup.sh /www/web/default test2 123456 /www/backup_temp mytest
以上第4行則為備份的命令行,以下為后期修改說明:
前5列表示執(zhí)行頻率,具體為 分 時 日 月 周,工具默認(rèn)是定義在【日】這一列,代碼中的 */7 表示每7天備份一次;
/www/web/default:需要備份的網(wǎng)站文件路徑
test2、123456:數(shù)據(jù)庫用戶名和密碼
/www/backup_temp:備份文件存放地址,每次備份的文件將保留至下一次備份才會被刪除,差不多算本地備份了。
mytest :數(shù)據(jù)庫名稱
Ps:當(dāng)然你也可以仿照第4行,根據(jù)實際需要插入多條任務(wù)計劃。
四、工具展望
此工具也只是張戈的無聊蛋疼作品,VPS用戶實在不多,而且都有自己的一套備份系統(tǒng)。發(fā)這個工具的目的也只是為了給備份網(wǎng)站多一條出路。
視受歡迎程度,下一版工具將加入
①、網(wǎng)站文件/數(shù)據(jù)庫分開備份的自定義機制;
②、做成菜單式,將項目分開設(shè)置,包括后期維護的交互式菜單,提高易用性