服務器實現定時遠程異地服務器備份的方法與方式
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
在現階段網站的發展中,隨著站點的慢慢變大,數據的備份也變的異常重要,
本地備份還是有許多不適合,下面來說下關于遠程異地備份的方法;
如果服務器出現硬件故障怎么辦?如果數據找不回怎么辦?如果服務器所在機房遭到故障,就像前段時間因為備案問題出現大面積封網的情況,很多站長就因為機房問題,數據沒法拿出來,沒辦法重新找空間或者服務器來搭建網站,只能干等著機房的網絡恢復正常。到網站發展到一定規模的時候,我們都應該有很多應急方案來處理這些應急的情況。
對于以上的這些情況,我們應該做到數據的定時備份。對于網站備份,可能大多數人考慮用ftp來實現。但是我個人覺得ftp并不是很安全,像現在很多網站入侵,都是通過serv-u的提權,從而得到服務器的超級管理權限。所以我從來不開ftp,而且一般ftp工具并沒法實現自動定時下載。下面我就站長幫手網怎么用7zip+vbs+任務管理器來實現自動備份數據。大概步驟如下:
1.通過sql server建立數據庫維護計劃,在指定目錄生成一個bak文件。該步驟通過sql server可以實現。每天的凌晨1點執行。備份時間需要花費約20分鐘。
2.到安裝好7zip的目錄,將7zip.exe拷貝到數據庫備份的文件夾下。通過7zip將數據打包成若干個文件。這里打包成多個文件,主要是因為linkhelper的數據庫有13個g非常大,后面vbs里面下載用到ado.stream,ado.stream對文件大小有限制。7zip為免費軟件。打包命令為:
rem 設定本地路徑
echo off&setlocal enabledelayedexpansion
rem 打包前將前一次生成的zip文件刪除
del *.zip.*
set "7z=7z.exe"
rem a表示添加 -aoa表示覆蓋 -tzip表示生成zip文檔 -v800m表示每個分包文件大小為800m
"7z" a -aoa -tzip linkhelperdata -v800m *.bak
rem 打包完成后,將*.bak文件刪除
del *.bak
選擇7zip打包,是因為7zip壓縮速度非常快。將以上代碼保存為“備份數據庫后打包.bat”,也放在數據庫的備份文件所在文件夾下。
3.通過windows計劃任務新建一個任務,運行“備份數據庫后打包.bat ”。運行用戶為system用戶,密碼為空。運行時間為每天的1點40。7zip壓縮13g的數據,大概需要半個小時時間,壓縮下來總大小為2個多g,會分成三個壓縮包。命名分別為:linkhelperdata.zip.001 linkhelperdata.zip.002 linkhelperdata.zip.003
4.用iis建立一個站點,指向備份目錄。然后在iis屬性中的http頭中新建一個mime類型,擴展名輸入.*,mime類型輸入:application/octet-stream。這樣保證異地服務器能直接下載linkhelperdata.zip.001這樣的文件。為了以防數據被其他人下載,我們還可以在iis屬性中編輯安全屬性,指定允許的ip地址。
通過以上四個步驟,我們就實現了數據庫服務器的數據每天定時備份然后打包。下面我們來實現異地服務器的定時下載備份,以下操作都在另外一個服務器上進行。
5.新建一個vbs文件來實現下載,同時為了方便備份文件的管理。我們將每天下載下來的備份文件放到以當天日期命名的目錄。因代碼稍微有點長,可以進入 查看詳細源代碼。將該代碼命名為"下載數據.vbs"。
6.在異地服務器上新建一個windows計劃任務,運行"下載數據.vbs"。運行用戶為system用戶,密碼為空。運行時間為每天的3點進行。
按照以上6個步驟,我們就實現了數據庫異地定時備份哦。對于web的備份,我們也可以同樣按照這樣的操作來進行。
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!