Windows操作系統(tǒng)利用BAT命令+計(jì)劃任務(wù)自動(dòng)備份數(shù)據(jù)庫和文件
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
數(shù)據(jù)的備份,肯定沒啥可說的,都是不言而喻的,重要數(shù)據(jù)必須備份!其重要性更不必多說;今天就來說說Windows如何備份站點(diǎn);
.bat 文件如下:
第一種bat寫法如下:
::數(shù)據(jù)庫+文件備份 @echo off ::日期時(shí)間 set yyyymmdd=%date:~0,4%%date:~5,2%%date:~8,2% set curtime=%time% IF "%curtime:~2,1%"==" " (set hh=0%curtime:~1,1%) ELSE (set hh=%curtime:~0,2%) ::配置 set SOURCE_IMAGES_FILE_DIR=E:\Web\images_file set SOURCE_LITERATURES_FILE_DIR=E:\Web\literatures_file set DB_HOST=127.0.0.1 set DB_USER=root set DB_PWD=a123456 set DB_DB=mydb set BACK_UP_PATH=F:\back_up\%yyyymmdd%%hh%\ set BACK_UP_IMAGES_FILE_DIR=images_file set BACK_UP_LITERATURES_FILE_DIR=literatures_file set BACK_UP_SQL_NAME=back-up.sql ::創(chuàng)建文件夾 mkdir %BACK_UP_PATH% ::數(shù)據(jù)庫備份 mysqldump -h%DB_HOST% -u%DB_USER% -p%DB_PWD% %DB_DB% > %BACK_UP_PATH%%BACK_UP_SQL_NAME% ::文件備份 xcopy %SOURCE_IMAGES_FILE_DIR% %BACK_UP_PATH%%BACK_UP_IMAGES_FILE_DIR% /e/I/d/h/r/y xcopy %SOURCE_LITERATURES_FILE_DIR% %BACK_UP_PATH%%BACK_UP_LITERATURES_FILE_DIR% /e/I/d/h/r/y exit
然后 開始 -程序 -附件 -系統(tǒng)工具 -計(jì)劃任務(wù) 來設(shè)置計(jì)劃任何即可!
第二種bat寫法如下:
@echo off echo 本批處理為老梁發(fā)布 echo 更多精彩博文請(qǐng)?jiān)L問 http://m.madamerex.com/ color 0b & cls echo 設(shè)置要備份的文件夾... set "pbuf=D:\laoliang" echo 設(shè)置備份文件存放文件夾... set "tbuf=F:\Laoliang_Backup" echo 初始化壓縮程序設(shè)置... cd \ C: cd C:\Program Files\WinRAR set yes=ok echo 壓縮程序在C:\Program Files\WinRAR\WinRAR.exe echo 設(shè)置備份文件名(以星期幾命名,即備份文件只保存最近一周)... set name=%date% set name=%name:~-3% set name=svn_backup_%name% echo 是否存在同名文件,若存在則刪除同名文件... if exist %tbuf%\%name%.rar del %tbuf%\%name%.rar echo 開始執(zhí)行壓縮備份... rar a -r -ed -esh %tbuf%\%name%.rar %pbuf%\*.* echo 備份完畢!
這里需要注意的是,設(shè)置備份文件夾的時(shí)候一定要加“”,不是會(huì)報(bào)錯(cuò)而且保存位置不對(duì);還有就是中文在有些系統(tǒng)里面顯示是亂碼,必要的時(shí)候可以用:來注釋掉;原文中用的是winrar來壓縮文件夾,我還是推薦使用7z來壓縮(壓縮比例更高,而且7z程序更精簡(jiǎn),只需要把安裝后的7z.exe和7z.dll復(fù)制到系統(tǒng)目錄下的system32里面就可以使用);使用7z壓縮只需要替換倒數(shù)第二行:
7z?a?-t7z?%tbuf%\%name%.7z?%pbuf%
第三種bat寫法如下:
計(jì)劃任務(wù)來完成每日文件夾自動(dòng)備份功能。
批處理腳本
首先找個(gè)地方新建個(gè).bat
文件,然后在里邊填入下面內(nèi)容:
@echo off rem 要備份的文件夾 set sourcePath=E:\ETL\build\ rem 要備份到的文件夾 set targetPath=E:\ETL\build-history\ rem 自動(dòng)備份生成的文件名 set folderName=%date:~0,4%-%date:~5,2%-%date:~8,2% XCOPY /e /c /y "%sourcePath%*" "%targetPath%%folderName%\"
注意修改其中sourcePath
和targetPath
的值, 最后有個(gè)\
不要忘寫。如果你想只備份文件的話,本文末尾參考中有相關(guān)文檔進(jìn)行介紹。
第四種bat寫法如下:
首先,新建一個(gè)文本文檔,改名為備份 SVN.bat? 粘貼以下內(nèi)容:
@echo off echo 本批處理為老梁發(fā)布 echo 更多精彩博文請(qǐng)?jiān)L問 http://m.madamerex.com echo 或QQ 258 986 0066 color 0b & cls echo 設(shè)置要備份的文件夾... set "pbuf=D:\VisualSVN_Repositories" echo 設(shè)置備份文件存放文件夾... set "tbuf=G:\Backup_VisualSVN_Repositories" echo 初始化壓縮程序設(shè)置... cd \ C: cd C:\Program Files\WinRAR set yes=ok echo 壓縮程序在C:\Program Files\WinRAR\WinRAR.exe echo 設(shè)置備份文件名(以星期幾命名,即備份文件只保存最近一周)... set name=%date% set name=%name:~-3% set name=svn_backup_%name% echo 是否存在同名文件,若存在則刪除同名文件... if exist %tbuf%\%name%.rar del %tbuf%\%name%.rar echo 開始執(zhí)行壓縮備份... rar a -r -ed -esh %tbuf%\%name%.rar %pbuf%\*.* echo 備份完畢!
由于要備份的文件夾和存放備份的文件夾及WinRaR的安裝路徑可能不同,根據(jù)實(shí)際情況修改即可。
下一步就是添加任務(wù)計(jì)劃,打開控制面板-任務(wù)計(jì)劃-添加任務(wù)計(jì)劃,設(shè)置每天執(zhí)行備份.bat,最好在晚上執(zhí)行如凌晨1點(diǎn)。
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!