網(wǎng)站數(shù)據(jù)自動備份方法
更新時間:2010年04月28日 10:39:20 作者:
本文是根據(jù)作者自己多年的維護經(jīng)驗,來和大家分享下網(wǎng)站數(shù)據(jù)自動備份的一些經(jīng)驗。
近來由于國家打擊,所以各地難免會出現(xiàn)封機房、斷網(wǎng)的情況,針對這種情況,站長們最需要的就是能及時備份自己的數(shù)據(jù),本文是根據(jù)作者自己多年的維護經(jīng)驗,來和大家分享下網(wǎng)站數(shù)據(jù)自動備份的一些經(jīng)驗。
目前站長們大多使用的網(wǎng)站程序無外乎ASP\asp.net\php\jsp 數(shù)據(jù)庫的話,大多是access\sqlserver\mysql
我們分2種情況來說明下。
對于win服務器下的自動數(shù)據(jù)備份,網(wǎng)站文件,自然是比較好備份的,那么如果數(shù)據(jù)庫也可以自動備份,那就基本實現(xiàn)完美自動備份。
如果你有獨立服務器,那么這個備份工作就更加簡單,下面我們來看看:
獨立服務器數(shù)據(jù)異地自動備份
網(wǎng)站文件我們使用綠環(huán)FTP備份軟件,在異地的服務器上掛上綠環(huán)FTP,設置好備份任務,然后設置好網(wǎng)站數(shù)據(jù)FTP,利用綠環(huán)的自動備份功能,就可以輕松對網(wǎng)站的文件進行自動異地備份。
數(shù)據(jù)庫,我們先在服務器上做備份,然后利用綠環(huán)把備份文件異地備份到備份服務器。
mysql數(shù)據(jù)庫:我們可以使用以下批處理腳本:
net stop mysql
xcopy c:\mysql\data\bbs\*.* d:\db_bak\bbs\%date:~0,10%\ /y
net start mysql
比如,設置這個為批處理文件bak.bat,然后設置windows的計劃任務,每天定時運行該批處理,就可以自動備份MYSQL了,注意,里邊的路徑,請自己修改為自己的路徑,c:\mysql\data\bbs\*.*為MYSQL數(shù)據(jù)文件路徑,d:\db_bak\bbs\%date:~0,10%后邊這個為MYSQL數(shù)據(jù)庫備份路徑。
有的朋友的計劃任務不能正常運行,請查看服務里邊的計劃任務的服務Task Scheduler是否開啟,另注意服務器裝有麥咖啡的朋友,請注意你的麥咖啡規(guī)則設置,看是否有限制備份的規(guī)則存在。
對于SQLserver,我們知道,SQLsever本身有按計劃備份的功能,所以,你可以用同樣的原理,進行備份,然后進行異地備份操作。本文不在這里詳述了。
同樣,對于linux下的mysql備份,就更簡單,利用crontab系統(tǒng)每天定時備份MySQL數(shù)據(jù)庫,至于詳細設置,本文引用下網(wǎng)上的老鳥的做法:
1、創(chuàng)建保存?zhèn)浞菸募穆窂?mysqldata
#mkdir /mysqldata
2、創(chuàng)建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
輸入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者寫成
rq=` date +%Y%m%d `
mysqldump --all-databases -u root -p980405 > /mysqldata/mysql$rq.tar.gz
/var/lib/mysql是你數(shù)據(jù)庫文件的目錄,部分用戶是/usr/local/mysql/data,每個人可能不同
/mysqldata/表示保存?zhèn)浞菸募哪夸?,這個每個人也可以根據(jù)自己的要求來做。
3、修改文件屬性,使其可執(zhí)行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3點鐘執(zhí)行備份
5、重新啟動crond
# /etc/rc.d/init.d/crond restart
完成。
這樣每天你在/mysqldata可以看到這樣的文件
mysql20100101.tar.gz
在tar命令執(zhí)行前,停止數(shù)據(jù)庫服務進程或鎖定數(shù)據(jù)庫,你可以利用時間差設置個計劃任務,暫停掉數(shù)據(jù)庫,或者在執(zhí)行備份腳本時候設置,注意,當使用上面的第2種熱備份模式,是不需要停止MYSQL服務器的,不然你就沒法備份了。
以上是對于對立服務器用戶,那么對于虛擬主機用戶,我想你可以在本地電腦設置綠環(huán)FTP,備份文件就沒問題了,對于數(shù)據(jù)庫,你可以設置一個自動腳本,每天0點觸發(fā)這個腳本,關于mysql的備份腳本,網(wǎng)上很多,至于如何觸發(fā),有很多方法吧,我想用過discuz的朋友,都知道discuz中計劃任務的原理吧,另外dede系統(tǒng)也有自動定時生成HTML的腳本,都是這樣的原理。
當然,對于ASP程序的用戶,如果沒有數(shù)據(jù)庫,那就更簡單了。
好了,進行了以上的相關設置,那么就可以實現(xiàn)數(shù)據(jù)全自動異地備份,就再也不怕服務器被封了。
目前站長們大多使用的網(wǎng)站程序無外乎ASP\asp.net\php\jsp 數(shù)據(jù)庫的話,大多是access\sqlserver\mysql
我們分2種情況來說明下。
對于win服務器下的自動數(shù)據(jù)備份,網(wǎng)站文件,自然是比較好備份的,那么如果數(shù)據(jù)庫也可以自動備份,那就基本實現(xiàn)完美自動備份。
如果你有獨立服務器,那么這個備份工作就更加簡單,下面我們來看看:
獨立服務器數(shù)據(jù)異地自動備份
網(wǎng)站文件我們使用綠環(huán)FTP備份軟件,在異地的服務器上掛上綠環(huán)FTP,設置好備份任務,然后設置好網(wǎng)站數(shù)據(jù)FTP,利用綠環(huán)的自動備份功能,就可以輕松對網(wǎng)站的文件進行自動異地備份。
數(shù)據(jù)庫,我們先在服務器上做備份,然后利用綠環(huán)把備份文件異地備份到備份服務器。
mysql數(shù)據(jù)庫:我們可以使用以下批處理腳本:
復制代碼 代碼如下:
net stop mysql
xcopy c:\mysql\data\bbs\*.* d:\db_bak\bbs\%date:~0,10%\ /y
net start mysql
比如,設置這個為批處理文件bak.bat,然后設置windows的計劃任務,每天定時運行該批處理,就可以自動備份MYSQL了,注意,里邊的路徑,請自己修改為自己的路徑,c:\mysql\data\bbs\*.*為MYSQL數(shù)據(jù)文件路徑,d:\db_bak\bbs\%date:~0,10%后邊這個為MYSQL數(shù)據(jù)庫備份路徑。
有的朋友的計劃任務不能正常運行,請查看服務里邊的計劃任務的服務Task Scheduler是否開啟,另注意服務器裝有麥咖啡的朋友,請注意你的麥咖啡規(guī)則設置,看是否有限制備份的規(guī)則存在。
對于SQLserver,我們知道,SQLsever本身有按計劃備份的功能,所以,你可以用同樣的原理,進行備份,然后進行異地備份操作。本文不在這里詳述了。
同樣,對于linux下的mysql備份,就更簡單,利用crontab系統(tǒng)每天定時備份MySQL數(shù)據(jù)庫,至于詳細設置,本文引用下網(wǎng)上的老鳥的做法:
1、創(chuàng)建保存?zhèn)浞菸募穆窂?mysqldata
#mkdir /mysqldata
2、創(chuàng)建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
輸入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者寫成
rq=` date +%Y%m%d `
mysqldump --all-databases -u root -p980405 > /mysqldata/mysql$rq.tar.gz
/var/lib/mysql是你數(shù)據(jù)庫文件的目錄,部分用戶是/usr/local/mysql/data,每個人可能不同
/mysqldata/表示保存?zhèn)浞菸募哪夸?,這個每個人也可以根據(jù)自己的要求來做。
3、修改文件屬性,使其可執(zhí)行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3點鐘執(zhí)行備份
5、重新啟動crond
# /etc/rc.d/init.d/crond restart
完成。
這樣每天你在/mysqldata可以看到這樣的文件
mysql20100101.tar.gz
在tar命令執(zhí)行前,停止數(shù)據(jù)庫服務進程或鎖定數(shù)據(jù)庫,你可以利用時間差設置個計劃任務,暫停掉數(shù)據(jù)庫,或者在執(zhí)行備份腳本時候設置,注意,當使用上面的第2種熱備份模式,是不需要停止MYSQL服務器的,不然你就沒法備份了。
以上是對于對立服務器用戶,那么對于虛擬主機用戶,我想你可以在本地電腦設置綠環(huán)FTP,備份文件就沒問題了,對于數(shù)據(jù)庫,你可以設置一個自動腳本,每天0點觸發(fā)這個腳本,關于mysql的備份腳本,網(wǎng)上很多,至于如何觸發(fā),有很多方法吧,我想用過discuz的朋友,都知道discuz中計劃任務的原理吧,另外dede系統(tǒng)也有自動定時生成HTML的腳本,都是這樣的原理。
當然,對于ASP程序的用戶,如果沒有數(shù)據(jù)庫,那就更簡單了。
好了,進行了以上的相關設置,那么就可以實現(xiàn)數(shù)據(jù)全自動異地備份,就再也不怕服務器被封了。
相關文章
Windows安裝Openssl并使用Openss生成公鑰私鑰
這篇文章主要介紹了Windows安裝Openssl并使用Openss生成l公鑰私鑰,需要的朋友可以參考下2020-11-11
MIME類型大全(response.setContentType中MIME參數(shù)類型總結(jié))
MIME類型就是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程序來打開。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式2017-07-07
ubuntu20.04安裝unity-tweak-tools啟動時遇到錯誤的解決
在Ubuntu系統(tǒng)中,安裝Unity Tweak Tool時可能會遇到schemacom.canonical.Unity.ApplicationsLens未安裝的錯誤,解決這個問題的辦法是安裝缺失的依賴包,執(zhí)行命令`sudo apt-get install unity-lens-applications` 和 `sudo apt-get install unity-lens-files`2024-09-09

