使用cPanel定時備份資料庫並寄到Mail

對網站來說,資料庫是相當重要的東西。定期的備份,可以在網站主機萬一掛掉、資料損毀或駭客入侵時,都可以透過備份的資料庫還原,讓網站恢復,降低損失。

今天教大家如果申請虛擬主機是使用cPanel的話,如何利用Cron Jobs來定期備份資料庫,並且壓縮後寄到指定信箱。

一、FileZilla 登入虛擬主機,接著切換到根目錄(/)下新增一個backups目錄。

add_backups0

add_backups1

二、打開記事本,輸入以下內容
[shell]
cd /home/yowsoftc/backups
stamp=$(date +%y%m%d)
mysqldump -u資料庫帳號 -p資料庫密碼 資料庫名稱 > db_backup_$stamp.sql
bzip2 -z -9 -f db_backup_$stamp.sql
mutt 接收備份資料庫的Mail -a db_backup_$stamp.sql.bz2 -s "database backup"
rm db_backup_$stamp.sql.bz2
[/shell]
三、另存 backupdatabase.sh,上傳到 backups 目錄下。

四、 將backupdatabase.sh更改權限為755(將執行權限打勾)

backups1

change_attrib0 change_attrib

五、進入cPanel網頁,使用進階工具的工作排程,並選擇”標準”

tools

jobs_standard

六、Add New Cron Job,Common Settings下拉可以選擇每分鐘、每五分鐘、半小時…..。我們選擇Twice a day(一天二次)。接著在執行的指令:輸入 /home/cpanel帳號/backups/backupdatabase.sh

common_settings

add_new_cron_job

七、新增成功後就會如下圖

current_cron_jobs

八、執行排程成功後,會收到一封mail。

cron_daemon

九、使用者也會收到備份成功的mail。database_backup

作者: 林壽山

林壽山 目前任職於軟體公司研究開發部門主管,主要採用.net core/.net 5/6 開發,收銀機pos系統開發,第三方支付設計(綠界、馬來西亞epay/happypay、台新one碼),金流設計,行動支付設計(悠遊卡/一卡通),支付寶,微信,街口支付,信用卡機(聯合信用卡),擅長PHP網頁設計(CodeIgniter、Laravel)框架、Delphi程式設計、資料庫設計、C# WinForm/WebForm程式設計、ASP.net MVC、LINE串接、API串接設計

發佈留言

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

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料