[教學]cPanel空間定時自動備份空間檔案並寄至信箱
上次教各位如何利用cPanel自動備份資料庫,雖然說重要的資料庫已經備份起來,但光有資料庫的備份還是不夠。畢竟網站都是由PHP架站程序+MySQL所寫成的,如果沒有檔案那光有資料庫還是不能還原。雖然可以去下載官方的程序,但裡面並沒有你改過的佈景、風格……等重要資料。因此我們還是必須要備份網站的檔案才行。
或許有人會說每個月在手動備份就好。有些Discuz論壇為了會員的方便而開放上傳附件、頭像,但這些東西會員可不會每個月才更新一次,所以囉這些東西管理員也是必須時常去做備份,以免主機掛掉時這些東西也跟著消失,反而會去影響到會員的權益。要管理員每天備份實在有難度,不過俗話說:「科技始終來自於人性」,這時我們就可以再請出「Cron Jobs」來幫大家解決。
上次殺氣介紹的PHP上傳圖片程序--cheverete,我感覺也挺適合用這個來備份喔~!如果你是自己上傳圖片並連到部落格、論壇,你一定不希望這個圖片變成包子,但是免空的品質誰也不能保證。如果能利用腳本來自動備份這些圖片並傳到信箱,相信對大家來說也是一種保障吧!因此殺氣在文中請大家盡量用cP空間的原因也是在此。
這次我們一樣要寫一個腳本,還是運用cPanel、DA空間才有的「Cron Jobs」來排定執行時間,只要設定時間一到空間就會自動執行腳本--備份指定的檔案→把檔案壓縮成壓縮檔→把壓縮檔寄到指定的信箱。不僅僅如此我們還能自己指定要備份的目錄,這樣不費一絲力氣也能輕輕鬆鬆備份檔案,多棒啊~!
第一步:開啟FTP傳輸軟體(FileZilla),登入空間後在「/」底下建立「backup」資料夾。【備1】
第二步:開啟編輯軟體(Notepad++),將下面腳本語法複製到文件裡。
cd /home/使用者帳號/backup #切換到工作目錄 stamp=`date +%y%m%d` #獲得當前時間 tar -cf file_$stamp.tar /home/使用者名稱/public_html/要備份的目錄 #打包的目錄 bzip2 -z -9 -f file_$stamp.tar #壓縮檔案 mutt 電子信箱 -a file_$stamp.tar.bz2 -s "File Backup" #發送信件 rm file_$stamp.tar.bz2 #移除臨時檔案
第三步:將語法的中文改成你自己的資料,並儲存成「filebackup.sh」。【備2】
- 使用者帳號:如下圖中的goodman
- 要備份的目錄:看要備份哪裡的檔案,就填那裏的位置【備3】
- 電子信箱:如下圖中的fff222lf2@gmail.com
第四步:將剛編輯好的「filebackup.sh」上傳至剛剛建立的「backup」資料夾裡面,
第五步:將剛剛上傳的「filebackup.sh」設定權限755。
第六步:進入cP後台,把右方卷軸拉到最下面,點選「Cron jobs」。
第七步:點選「Standard」,直接進入「Cron jobs」的操作畫面。【備4】
第八步:選擇執行腳本的時間、填入腳本的位置後,點選「Add New Cron Job」。【備5】
- Minute:分鐘,一般建議選擇「:00 top of the hour(0)」(整點)。
- Hour:小時,一般建議選擇「11:00 p.m. (23)」(晚上11點)。
- Day:第幾天,如果常更新的話可以選「Every day」;如果是不常更新可以選「28th (28)」。
- Month:第幾月,一般建議選擇「Every month」。
- Weekday:星期幾,一般建議選擇「Every weekday」。
- Command to run:腳本存放的位置,請填入「/home/使用者帳號/backup/filebackup.sh」。
第九步:接著就等你指定的時間到後就可以收到備份信件了。【備6】
【備1】為什麼是在「/」底下建立資料夾?
答:因為我們要存放的腳本如果保存不善可能會使整個網站掛點,從你登入空間所看到的第一層目錄就是「/」,一般是最不容易被破解的,因此我們選擇放在這。而一般我們所稱的根目錄「/public_html」就是在它的底下。
【備2】檔案名稱可以自己亂取嗎?
答:基本上是可以的,但是副檔名記得一定要是「.sh」,且第八步腳本位置的那裏也要做更改。
【備3】要備份的目錄那裏該怎麼打呢?
答:固定位置我已經幫你打好了,因此你只需看你想指定哪個位置就打上去吧。(如果不會打,可以在底下留言問我)
- 像根目錄:不用打
- 像wp的佈景打:wp-content/themes
- 像wp的外掛打:wp-content/plugins
- 像dz的風格打:templates
【備4】為什麼我沒有出現這一步,而是直接跳第八步呢?
答:如果你的面板是x3的通常都會沒有;而使用rvskin通常都有這步。
【備5】上面有個框框要填EMAIL,那需要填嗎?
答:可填可不填,那最主要就是告訴你腳本的運作狀況。如果一直沒收到備份信件建議你填一下,它會寄信告訴你腳本哪裡出錯已導致無法運作。
【備6】為什麼收到信件的時間會和我填的不一樣?
答:有兩種可能。
- 信件延遲
- 主機在國外,所以會有時差的問題
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-新增資料夾](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-1.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-複製腳本源碼](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-2.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-修改腳本](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-3.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-上傳腳本](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-4.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-設權限755](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-5.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-進入cron jobs](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-6.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-點選standard](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-7.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-設定](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-8.png)
![[教學]cPanel空間定時自動備份空間檔案並寄至信箱 [教學]cPanel空間定時自動備份空間檔案並寄至信箱-收到信的演示](http://img.shachi.tw/cpanel-backup-file/cpanel-backup-file-9.png)

您好博主,请问您那图片点击放大是如何实现的,是使用什么程序吗?图片是放自己空间吗?有好的图床推荐吗,谢谢!
呵呵,用wp-machine-time来备份,当发了文章就自动备份到dropbox,感觉不错
可以设置成..某些特定的几个文件夹吗???
因为我的根目录比较混乱.
这个不错,我收下了哈.
能自動備份sql嗎?
/home/upwa/backup/filebackup.sh: line 1: cd: command not found
tar: Removing leading `/’ from member names
/home/upwa/backup/filebackup.sh: line 5: mutt: command not found
這是什麼問題?
就類似每日備份壓縮起來這樣
請問可以設定直接備份到自己主機or FTP上嗎?
因為檔案太大 不可能寄到mail吧!