wordpress備份檔保存

建置好wordpress網站後,雖然也設定好了定期備份(不論你是用什麼工具,什麼方式,或是像我是用Backup Migration的定期備份方式),辛苦備份下來的網站備份檔也要找個合適的地方儲存下來,這樣未來如網站掛了要復原時才能找到資料。

像我本身是用Raspberry Pi 4主機來架站的,備份下來的網站都是儲存在Raspberry Pi 4的SD卡上面。以前在Raspberry Pi 3時常常有時沒事SD卡就沒法讀取,整個系統又要重頭來過。所以我的網站備份檔如果只是單純儲存在Raspberry Pi 的SD卡上我也有點不放心。

因為家裏有NAS,最好的儲存方式當然就是放到NAS中了。可是Backup Migration的免費版本又不支援SFTP的備份模組,要如何定期地將網站備份檔上傳到NAS中保存就要想一下了。

在Linux系統中最好用的同步方式應該就算是rsync了。一般的NAS應該也都能被設定成是rsync server,這樣就可以讓我的Raspberry Pi 4作為rsync client,定期將檔案備份到NAS中。

設定rsync server

rsync server的設定如果是要在Linux server上設定的話,可以參考這份文章

像我是使用Austor NAS,所以我主要就是在NAS介面中啟用rsync server服務,並建立一個資料夾或目錄,另外再設定一組帳號及密碼後,就可以提供rsync server的服務了。

NAS rsync server設定

設定rsync client

在rsync client端的設定,主要是在要使用的使用者家目錄中建立一個叫作rsync.secret的檔案,其中只要加入一行密碼即可。這份rsync.secret的存取權限要設定為只有這位使用者可讀寫。

ubuntu@ubuntu:~$ ll rsync.secret
-rw------- 1 ubuntu ubuntu 10 Jun  5 14:23 rsync.secret

定期備份

接著就是要使用rsync的指令來進行備份,大致上的指令如下:

rsync -avrHSh --delete --password-file=/home/ubuntu/rsync.secret /var/wwwdata/html/blog/wp-content/backup-migration-wcgYje47R8/backups/ rpiuser@192.168.2.142::rpi-wordpress

-avrHSh的指令是指:

  • a : archieve,用壓縮的方式傳送
  • v : 輸出更多細節
  • r : 遞迴所有目錄
  • H: hard link
  • S: 更有效地處理空白檔案
  • h:易讀模式顯示

–delete 表示要刪除目的區中已不存在於來源區地的檔案。但這項功能有個特別的地方就是你的來源區必須要是個「目錄」,不能是特別指定的檔案(例如*.zip)

–password-file=<file>,用來指定密碼檔

接著就是來源目錄(及檔案類型,如果要指定的話)。後面接著就是rsync server的設定,主要包含三部份:<username>@IP::rsync-server-settings

  • username:就是rsyn server中的使用者
  • IP:是rsync server的IP
  • rsync-server-settings:就是rsync server上所要使用的設定檔區段(例如我是用NAS設定,那就是如上圖中的那個名稱

結論

最後可以將上述的rsync備份指令設定到crontab中定期執行就可以安全地將網站備份檔給備份到另一個地方保存了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *