WordPress, 網站架設

利用「cPanel排程工作」自動備份資料庫,並寄到指定的信箱中

梅干2017/08/02
梅問題-利用cPanel排程工作自動備份資料庫,並寄到指定的信箱中
  使用WordPress架設的朋友,一定都會必裝WordPress Database Backup這隻外掛,讓資料庫中的資料,自動備份並寄送到指定的信箱中,如此一下來就可省去手動備份的不便,但有用過這隻外掛的朋友,是否有發現到,當資料庫的檔案愈來愈大時,時常會收不到,起初梅干以為是Gmail的限定,但最後發現到,並不是信箱的問題,而是WordPress Database Backup在進行資料庫備份時,會讓CPU的用量瞬間飆高,造成備份失敗,或是網站瞬間掛掉的問題。
  因此為了解決這個問題,梅干多次與糖果主機,不斷的來回討論,終於找了一個解決辦法,就是透過Liunx的腳本來備份資料庫與寄送,最後搭配cPanel中的排程,就可達到像WordPress Database Backup一樣,會自動定時的將資料庫備份,且寄送到指定的信箱中,至於備份的腳本要怎麼寫,以及cPanel排程要如何設定,現在就一塊來看看吧!
Step1
首先,只需修改1.寄件者、2.收件者、3.資料庫帳號、4.資料庫密碼、5.資料庫名稱、6.主機目錄,當都修改完畢後,再將它儲存成「db_backup.sh」。

db_backup.sh
#!/bin/sh

from='寄件者'
to='收件者'

NOW=$(date +"%Y-%m-%d-%H-%M");
NOW2=$(date +"%Y-%m-%d %H:%M");
mysqldump -u資料庫帳號 -p資料庫密碼 資料庫名稱 > 資料庫名稱-${NOW}.sql
tar cfz /主機目錄/資料庫名稱-${NOW}.tar.gz 資料庫名稱-${NOW}.sql
rm -f /主機目錄/資料庫名稱-${NOW}.sql

if [ -f /主機目錄/資料庫名稱-${NOW}.tar.gz ]; then
echo "資料庫備份,時間 ${NOW2}" | mailx -s "xxx.com 資料庫備份 ${NOW2}" -a /主機目錄/資料庫名稱-${NOW}.tar.gz -r $from $to
fi

rm -f /主機目錄/資料庫名稱-${NOW}.tar.gz

Step2
接著開啟cPanel後台,進入「檔案管理員」,點選「上傳」,將剛所編輯好的腳本上傳到主機根目錄中。
梅問題-利用cPanel排程工作自動備份資料庫,並寄到指定的信箱中
Step3
上傳完畢後,在主機的根目錄中,就會看到剛所上傳的腳本檔。
梅問題-利用cPanel排程工作自動備份資料庫,並寄到指定的信箱中
Step4
接著回到cPanel管理畫面,再點選「工作排程」的圖示。
梅問題-利用cPanel排程工作自動備份資料庫,並寄到指定的信箱中
Step5
進入工作排程後,上方設定備份的時間,而下方的指令地方,輸入/bin/sh 備份檔腳本.sh。
梅問題-利用cPanel排程工作自動備份資料庫,並寄到指定的信箱中
Step6
當建立完畢後,在下方的工作排程中就會看到,而這邊梅干是設定每晚半夜12點再來進行備份。
梅問題-利用cPanel排程工作自動備份資料庫,並寄到指定的信箱中
Step7
接著每天晚上12:00,就會收到資料庫的備份檔,是不是超方便的呀!而這一個方法,不只限於WordPress使用,只要是Liunx主機,並且後台有排程工作,都可使用這方式來進行備份喔!
梅問題-利用cPanel排程工作自動備份資料庫,並寄到指定的信箱中
UAG軍規iPhone防摔殼