熱烈祝賀臺州維博網絡的站長論壇隆重上線!(2012-05-28)    熱烈慶祝偉大的祖國60周年生日 點擊進來我們一起為她祝福吧(2009-09-26)    站長論壇禁止發布廣告,一經發現立即刪除。謝謝各位合作!.(2009-08-08)    熱烈祝賀臺州網址導航全面升級,全新版本上線!希望各位一如既往地支持臺州網址導航的發展.(2009-03-28)    臺州站長論壇恭祝各位新年快樂,牛年行大運!(2009-01-24)    臺州Link正式更名為臺州網址導航,專業做以臺州網址為主的網址導航!(2008-05-23)    熱烈祝賀臺州Link資訊改名為中國站長資訊!希望在以后日子里得到大家的大力支持和幫助!(2008-04-10)    熱烈祝賀臺州Link論壇改名為臺州站長論壇!希望大家繼續支持和鼓勵!(2008-04-10)    臺州站長論壇原[社會瑣碎]版塊更名為[生活百科]版塊!(2007-09-05)    特此通知:新臺州站長論壇的數據信息全部升級成功!">特此通知:新臺州站長論壇的數據信息全部升級成功!(2007-09-01)    臺州站長論壇對未通過驗證的會員進行合理的清除,請您諒解(2007-08-30)    臺州網址導航|上網導航誠邀世界各地的網站友情鏈接和友誼聯盟,共同引領網站導航、前進!(2007-08-30)    禁止發廣告之類的帖,已發現立即刪除!(2007-08-30)    希望各位上傳與下載有用資源和最新信息(2007-08-30)    熱烈祝賀臺州站長論壇全面升級成功,全新上線!(2007-08-30)    
便民網址導航,輕松網上沖浪。
臺州維博網絡專業開發網站門戶平臺系統
您當前的位置: 首頁 » MySQL/MSSQL編程 » 如何每天自動備份MySql文件?

如何每天自動備份MySql文件?

論壇鏈接
  • 如何每天自動備份MySql文件?
  • 發布時間:2012-09-04 16:13:00    瀏覽數:3991    發布者:tznktg    設置字體【   
隨著數據庫在網站建設中的不斷應用,現如今絕大多數網站已經離不開數據庫支持了,因為數據庫不僅可以存儲網站內容等信息,還可以存儲用戶提交的信息。由于這些信息非常寶貴,一旦丟失幾乎難以挽回。

所有站長不僅要注意備份服務器上的網頁html文件,圖片或者程序代碼,還要對數據庫文件優先進行備份。

最簡單的數據庫備份可以通過phpMyAdmin手動備份并下載文件到指定位置,但是對于那些需要每天及時備份的站長來說,手動備份數據庫比較麻煩,所以本文講解一下如何利用國外主機的時鐘程序配合shell命令代碼實現每天定時備份數據庫文件并下載到指定目錄。

shell備份數據庫

首先創建一個文件命名為:“backup.sh”,在其中輸入以下命令:

#!/bin/bash
# Set a value that we can use for a datestamp
DATE=`date +%Y-%m-%d` $
# Our Base backup directory
BASEBACKUP="/backup/daily"

for DATABASE in `cat /backup/db-list.txt`
do
# This is where we throw our backups.
FILEDIR="$BASEBACKUP/$DATABASE"

# Test to see if our backup directory exists.
# If not, create it.
if [ ! -d $FILEDIR ]
then
mkdir -p $FILEDIR
fi

echo -n "Exporting database: $DATABASE"
mysqldump --user=root --opt $DATABASE | gzip -c -9 > $FILEDIR/$DATABASE-$DATE.sql.gz
echo " ......[ Done Exporting to local backup, now exporting for remote backup] "
cp $FILEDIR/$DATABASE-$DATE.sql.gz /backup/uploads/$DATABASE.sql.gz
echo " .......[Done]"
done

# AutoPrune our backups. This will find all files
# that are "MaxFileAge" days old and delete them.
MaxFileAge=4
find $BASEBACKUP -name '*.gz' -type f -mtime +$MaxFileAge -exec rm -f {} \;

簡單來說,這個命令會從db-list.txt文件(一個記錄有數據庫名稱的列表文本文件)中逐行調取數據庫并輸出+壓縮數據文件(datastamped )到/backup/daily/databasename/目錄下面;然后該命令有把一個 non-datestamped 文件存儲到/backup/uploads/目錄下面,并覆蓋掉原有的文件。

同時,為了節約資源,該命令會自動刪掉4天前的數據庫文件。

時鐘命令(Cron Jobs)

備份完之后要利用時鐘命令將數據庫備份以及存儲以自動的方式每天執行,首先需要激活backup.sh;

10 4 * * * sh / backup/backup.sh

這個命令是讓服務器每天早上4:10分開始執行數據庫備份,當然什么時間執行是取決你的。

然后在時鐘命令中輸入以下命令:

10 6 * * * /usr/local/bin/ncftpput -Ef /home/admin/ncftpputlogin / /backup/uploads/*

這個命令是告訴一個命名為ncftpput的程序(該程序位于ncftputlogin目錄下)每天早上6:10將數據庫文件上傳到/backup/uploads目錄下面。ncftpputlogin目錄中存有服務器的用戶信息,如果你的服務器沒有安裝ncftp,你可以自己安裝一個,很簡單。

總結

如果你的數據庫文件較大,可能備份的時候需要占用很多服務器資源,所以站長要盡量選擇訪客最少的時間段執行自動備份命令,比如凌晨4-5點左右。而且要注意給備份留下足夠的時間然后執行存儲命令。

因為一個服務器可能會遭到天災人禍,備份的數據庫文件要存在不同的服務器或者下載到本地更保險。
娛樂休閑專區A 影視預告B 音樂咖啡C 英語階梯D 生活百科
網頁編程專區E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技術區 N 系統管理O 服務器架設P 網絡/硬件Q 編程序開發R 內核/嵌入
管理中心專區S 發布網址T 版主議事U 事務處理
陕西快乐10分玩法 北京pk拾赛车历史开奖记录 股票配资平台是合法的么重生回古代 小说 三分pk10走势 官方网 云南快乐10分开奖查询 股票配资推荐就择卓信宝配资优异 002016世荣兆业股 湖北快三手机投注软件 吉林快三玩法规则介绍 重庆快乐10分走势图前50期 新疆11选5中奖助手