close

cPanel主機面板定時自動備份MySQL數據庫

http://www.inspirr.com

當廣大Wordpresser歡欣鼓舞地升級到2.9,享受著在線圖片編輯器、回收站等一系列新功能的時候,卻發現Wordpress的生理周期突然失調了——以前她能夠自動地定時為我們發布文章、清除緩存、備份數據庫等等等等,而現在這一切都需要我們手工完成。經過在Wordpress官方論壇一番搜尋,發現原來這是Wordpress 2.9的大BUG——定時模塊失效…… 注明:目前2.9.1版本已經修復此問題

又,最近在國內互聯網“掃黃打非”的狂風暴雨下,個人網站的站長們被弄得一個個誠惶誠恐,一覺醒來說不定域名就“被”停止解析,服務器就“被”關停!所以,及時備份網站的程序和數據對于當下的中國站長們極為重要,然而Wordpress 2.9偏偏又在這當口來一個定時模塊失效,這的確是雪上加霜!

不過,如今最優秀的主機面板cPanel已經越來越普及了,如果您有幸用上了采用cPanel面板的主機,那么其中的Cron jobs模塊就是雪中送炭了。您不但可以使用Cron jobs結合Linux bash shell腳本更加細致地控制各種自動定時作業——備份數據庫、優化數據庫和備份網站程序,還可以永久性地省掉幾個Wordpress插件,提高Wordpress的運行速度。

定時自動備份MySQL數據庫

如右圖所示,首先請在您的cPanel面板中的Advanced部分找到Cron jobs。點擊進入,您就會看到Cron jobs的操作頁面,不過先別著急,我們要首先編寫備份網站數據庫的Linux bash shell腳本。

我們需要首先用mysqldump命令導出整個數據庫至一個文本文件,然后用壓縮工具將數據文件壓縮打包,最后用mutt命令將數據庫壓縮包發送至您指定的電子郵件地址。

現在我們開始,請用遠程登錄軟件(如SecureCRT、Putty)或者FTP軟件(如FileZilla、FireFTP)連接到您的主機,并創建一個存儲備份腳本和臨時文件的文件夾,比如我在我的主機根目錄建立了一個backup目錄。根據cPanel主機的文件夾格式,該目錄的絕對路徑應為/home/cPanel登錄名/backup。

下面以/home/xirangus/backup目錄為例。請打開任意一個文本編輯軟件,錄入如下內容。[XXX]處請更換為您的真實數據(去掉[和])。

cd /home/xirangus/backup #切換到工作目錄
stamp=$(date+%y%m%d) #獲取當前日期
mysqldump -u[數據庫用戶名] -p[數據庫密碼] [數據庫名] > db_backup_$stamp.sql #導出數據庫
bzip2 -z -9 -f db_backup_$stamp.sql #壓縮數據庫
mutt [電子郵件地址] -adb_backup_$stamp.sql.bz2 -s "Database Backup" #郵件發送
rm db_backup_$suffix.sql.bz2 #移除臨時文件

其中第4行采用了bzip2來壓縮數據,如果您的主機不支持bzip2,請更換為使用tar或zip等命令來壓縮數據,具體情況請咨詢您的主機商。

腳本錄入完畢后,請將其保存,比如我將其命名為dbbackup.sh。然后上傳到剛剛建立的/home/xirangus/backup目錄下,并更改該腳本文件的權限為755。

大功快要告成,現在請點擊cPanel中的Cron jobs圖標,選擇Standard進入標準模式。將/home/xirangus/backup/dbbackup.sh填入Command to run中,并選擇定時運行方式,如下圖。

這里的時間是以服務器的時區為準,所以您需要自己換算一下。嘻來嚷往所在的Just Host的數據中心位于美國中部時區,比中國標準時間晚14個小時,所以按照上圖設置,每天中國標準時間晚上8點,嘻來嚷往的數據庫備份郵件就會自動被發送到我的郵箱里。

定時自動優化MySQL數據庫

頻繁地對數據庫進行各種操作,會使數據庫產生一些錯誤和冗余數據而導致性能下降,因此及時修復和優化數據庫也是非常必要的。我們可以采用mysqlcheck命令對MySQL數據庫進行修復和優化。腳本文件如下。

mysqlcheck -u[數據庫用戶名] -p[數據庫密碼] –auto-repair –database [數據庫名] #檢查并自動修復數據庫
mysqlcheck -u[數據庫用戶名] -p[數據庫密碼] -o –database [數據庫名] #優化數據庫

如何讓Cron jobs自動運行腳本就不再贅述了。

定時自動備份網站程序

有了前面數據庫的列子,備份程序文件就簡單多了,稍稍修改一下腳本文件就行了。還是以Wordpress為例吧,一般我們修改得最多的就是主題文件,所以我們就讓Cron jobs定時備份Wordpress的themes文件夾吧。直接給出腳本文件。

cd /home/xirangus/backup #切換工作目錄
stamp=$(date+%y%m%d) #獲取當前日期
tar -cvf theme_$stamp.tar /home/xirangus/public_html/wp-content/themes #打包主題目錄
bzip2 -z -9 -f theme_$stamp.tar #壓縮
mutt [電子郵件地址] -a theme_$stamp.tar.bz2 -s "Themes Backup" #郵件發送
rm theme_$stamp.tar.bz2 #移除臨時文件

雖然tar命令可以使用-j參數進行bzip2的打包+壓縮,但是不能指定壓縮級別,所以我還是采用了tar先打包,接著使用bzip2最高級別壓縮的方式。

就介紹這么多吧,如果您熟悉Linux,那么您還可以盡情發揮,讓Cron jobs完成更多的自動定時作業,使網站的運行更加高效和有保障。

文章作者:Tim 原文鏈接:http://xirang.us/2010/01/backup-and-optimize-website-by-cpanel-cron-jobs 原始站點:嘻來嚷往


  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 zhxalcy 的頭像
    zhxalcy

    陽光下的笑

    zhxalcy 發表在 痞客邦 留言(0) 人氣()