![]() |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=etsinz;1099104]謝謝大大的說明,我這資料庫每天都會產生一個備份檔,請問有沒有辦法設定只縮壓備份檔,不需要縮壓整個目錄,請看以下圖示: 1. 我sql一共設定五個資料庫,所以會產生五個目錄,而每個目錄每天會產生一個bak檔,我需要做的備份是把每日產生的備份檔備份起來,並不需要把整個目錄備份起來。(每日所產生的備份檔的檔案,都會依時間排序來命名) 2. 用自動壓縮程式是否有辦法把產生出來的rar檔存放在每個相同的目錄下(因為我備份軟體已經設定好需備份的目錄),是否有辦法不用利用手動的方式去點擊任何的程式,就只要設定一次之後就可以一直讓程式自動連續運作。 [IMG]http://xmages.net/storage/10/1/0/e/c/upload/eb876e06.jpg[/IMG][/QUOTE] before.bat 和 Aafter.bat 還是要查外層, 不然就事先查最後產生的備份. check.bat :start 上面加 :check sleep if exist E:\TransactionLogbackup\Diff_bak\gonghsi\gonghsi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak goto start if not exist E:\TransactionLogbackup\Diff_bak\gonghsi\gonghsi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak goto check [COLOR="Red"]:start[/COLOR] 之後是原來 check.bat :start 後面的內容 dir E:\TransactionLogbackup\Diff_bak\gonghsi | findstr "個檔案" > before.txt dir E:\TransactionLogbackup\Diff_bak\gonghsi | findstr "個檔案" > after.txt 備份用以下請自行去修改 backup.bat (紅字就是要放哪裡!) dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\CHIComp01\CHIComp01_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\CHIXMSys\CHIXMSys_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\dingxin\dingxin_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\excel\excel_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\gongshi\gongshi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 [COLOR="Red"]E:\Backup\SQL.rar [/COLOR] @list.txt 但是日期格式要依你的系統格式調整, 如果沒動過那就不用 echo %date% 2010/12/09 星期四 0123456789 %date:~0,4%% 從0取4 2010 %date:~5,2% 從5取2 12 %date:~8,2% 從8取2 09 要自動執行控制台排定工作 排程精靈 或是 at /help task scheduler 服務要開 不過 check.bat 還有一些問題 例如超過一天沒有找到檔案, 把自己退出 改為 :check sleep 之間加兩行 :check if %x% gtr 1440 exit set /A x=%x%+1 sleep |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=bx2aa;1099116]before.bat 和 Aafter.bat 還是要查外層, 不然就事先查最後產生的備份. check.bat :start 上面加 :check sleep if exist E:\TransactionLogbackup\Diff_bak\gonghsi\gonghsi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak goto start if not exist E:\TransactionLogbackup\Diff_bak\gonghsi\gonghsi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak goto check [COLOR="Red"]:start[/COLOR] 之後是原來 check.bat :start 後面的內容 dir E:\TransactionLogbackup\Diff_bak\gonghsi | findstr "個檔案" > before.txt dir E:\TransactionLogbackup\Diff_bak\gonghsi | findstr "個檔案" > after.txt 備份用以下請自行去修改 backup.bat (紅字就是要放哪裡!) dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\CHIComp01\CHIComp01_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\CHIXMSys\CHIXMSys_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\dingxin\dingxin_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\excel\excel_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt dir /s /b /a-d r E:\TransactionLogbackup\Diff_bak\gongshi\gongshi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 [COLOR="Red"]E:\Backup\SQL.rar [/COLOR] @list.txt 但是日期格式要依你的系統格式調整, 如果沒動過那就不用 echo %date% 2010/12/09 星期四 0123456789 %date:~0,4%% 從0取4 2010 %date:~5,2% 從5取2 12 %date:~8,2% 從8取2 09 要自動執行控制台排定工作 排程精靈 或是 at /help task scheduler 服務要開 不過 check.bat 還有一些問題 例如超過一天沒有找到檔案, 把自己退出 改為 :check sleep 之間加兩行 :check if %x% gtr 1440 exit set /A x=%x%+1 sleep[/QUOTE] 大大你好,謝謝大大的指教,如果直接把backup.bat 做自動排程可以嗎? 因為我測試了一下,直接點backup.bat 是可以運作的。 以下是我做修改的程式 dir /s /b /a-d E:\TransactionLogbackup\Com_bak\CHIComp01\CHIComp01_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\CHIXMSys\CHIXMSys_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\dingxin\dingxin_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\excel\excel_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\gongshi\gongshi_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar @list.txt [IMG]http://xmages.net/storage/10/1/0/4/0/upload/9fa30d31.jpg[/IMG] 現在遇到的問題是 我每次產生出的檔案會是如:dingxin_db_[COLOR="Red"]201012102130[/COLOR] 就是2010年12月10號21點30分 如上圖 有時的檔名會是 dingxin_db_20101211[COLOR="Red"]2131[/COLOR] dingxin_db_20101212[COLOR="Red"]2132[/COLOR] dingxin_db_20101213[COLOR="Red"]2133[/COLOR] 之類的 像這樣子,如果我要把它的"分鐘"也自動備份的話,參數該如何下呢? 我看了一下你的程式碼好像只有"年、月、日"而已。 ps.我這個完整備份是大約三周會做一次,所以每次檔案都是三周產生一次出來。 |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=etsinz;1099208]大大你好,謝謝大大的指教,如果直接把backup.bat 做自動排程可以嗎? 因為我測試了一下,直接點backup.bat 是可以運作的。 以下是我做修改的程式 dir /s /b /a-d E:\TransactionLogbackup\Com_bak\CHIComp01\CHIComp01_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\CHIXMSys\CHIXMSys_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\dingxin\dingxin_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\excel\excel_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt dir /s /b /a-d E:\TransactionLogbackup\Com_bak\gongshi\gongshi_db_%date:~0,4%%date:~5,2%%date:~8,2%2130.BAK >>list.txt "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar @list.txt 現在遇到的問題是 我每次產生出的檔案會是如:dingxin_db_[COLOR="Red"]201012102130[/COLOR] 就是2010年12月10號21點30分 如上圖 有時的檔名會是 dingxin_db_20101211[COLOR="Red"]2131[/COLOR] dingxin_db_20101212[COLOR="Red"]2132[/COLOR] dingxin_db_20101213[COLOR="Red"]2133[/COLOR] 之類的 像這樣子,如果我要把它的"分鐘"也自動備份的話,參數該如何下呢? 我看了一下你的程式碼好像只有"年、月、日"而已。 ps.我這個完整備份是大約三周會做一次,所以每次檔案都是三周產生一次出來。[/QUOTE] 直接用 backup.bat 也可以! check.bat after.bat before.bat 是為了確認在備份時不會發生 SQL 維護精靈還沒備份結束. 我原本用的 dir /s /b /a-d E:\TransactionLogbackup\Diff_bak\gongshi\gongshi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt 是日期只要對、後面的不管是多少都照樣備份, 請打開 list.txt 就知道! list.txt 就是要備份的檔案列表. dir.....*.bak 把檔案含路徑輸出 > 轉向覆蓋 list.txt >> 附加到 list.txt 所以結果就在 list.txt dir /s /b /a-d E:\RSS\ps\com\gongshi\dingxin_db_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=bx2aa;1099213]直接用 backup.bat 也可以! check.bat after.bat before.bat 是為了確認在備份時不會發生 SQL 維護精靈還沒備份結束. 我原本用的 dir /s /b /a-d E:\TransactionLogbackup\Diff_bak\gongshi\gongshi_tlog_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt 是日期只要對、後面的不管是多少都照樣備份, 請打開 list.txt 就知道! list.txt 就是要備份的檔案列表. dir.....*.bak 把檔案含路徑輸出 > 轉向覆蓋 list.txt >> 附加到 list.txt 所以結果就在 list.txt dir /s /b /a-d E:\RSS\ps\com\gongshi\dingxin_db_%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt[/QUOTE] 謝謝大大的說明,目前測試正常,非常感謝大大 另請問大大dir /s /b /a-d [COLOR="Red"]r[/COLOR] 的r 意思是什麼 假設我設有五個目錄需備份,是不是我該備份的地方就一定要設有五個目錄,不然程式是否會找不到?然後不動作呢? 請問有辦法另外設定自動排程,把做出來的備份壓縮檔,在一定的時間內清掉檔案嗎,就像在sql資料庫裡可以設定一樣,如:只保留幾周最新的備份檔之類的。(因我怕久而久之放太多備份檔,會浪費本機hdd容量,因我已做異地備份,把檔案備份到b地了,所以放在本機的檔案我想只需保留幾周就ok了。) |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=etsinz;1099275]謝謝大大的說明,目前測試正常,非常感謝大大 另請問大大dir /s /b /a-d [COLOR="Red"]r[/COLOR] 的r 意思是什麼 假設我設有五個目錄需備份,是不是我該備份的地方就一定要設有五個目錄,不然程式是否會找不到?然後不動作呢? 請問有辦法另外設定自動排程,把做出來的備份壓縮檔,在一定的時間內清掉檔案嗎,就像在sql資料庫裡可以設定一樣,如:只保留幾周最新的備份檔之類的。(因我怕久而久之放太多備份檔,會浪費本機hdd容量,因我已做異地備份,把檔案備份到b地了,所以放在本機的檔案我想只需保留幾周就ok了。)[/QUOTE] r 是不小心按到的吧! List.txt 是備份內容 只要有確切路徑檔名就會備份. dir /s /b /a-d E:\RSS\ps\com\gongshi\*%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt 就會把 E:\RSS\ps\com\gongshi\ 目錄下的所有目錄內檔名中含有當天年月日的所有 .bak 通通列入備份的列表中. "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 E:\TransactionLogbackup\114_comrar\[COLOR="Red"]114com%date:~0,4%%date:~5,2%%date:~8,2%.rar[/COLOR] @list.txt 在最後一行中加入例如: "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar @list.txt if %date:~5,2% LEQ 3 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 1-3month.bat if %date:~5,2% GEQ 4 if %date:~5,2% LEQ 6 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 4-6month.bat if %date:~5,2% GEQ 7 if %date:~5,2% LEQ 9 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 7-9month.bat if %date:~5,2% GEQ 10 if %date:~5,2% LEQ 12 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 10-12month.bat 每年開春手動刪除 1-3month.bat 4-6month.bat 7-9month.bat 10-12month.bat 或是年初多設定一個排程 delete.bat ============= del 1-3month.bat del 4-6month.bat del 7-9month.bat del 10-12month.bat ============= 或是每次都跑一次 echo del 1-3month.bat >> ??month.bat 上面改為 if %date:~5,2% LEQ 3 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 1-3month.bat && echo del 10-12month.bat >> 1-3month.bat if %date:~5,2% GEQ 4 if %date:~5,2% LEQ 6 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 4-6month.bat && echo del 1-3month.bat >> 4-6month.bat if %date:~5,2% GEQ 7 if %date:~5,2% LEQ 9 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 7-9month.bat && echo del 4-6month.bat >> 7-9month.bat if %date:~5,2% GEQ 10 if %date:~5,2% LEQ 12 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 10-12month.bat && echo del 7-9month.bat >> 10-12month.bat 跑過任何一季的 ?-?month.bat 會清掉上一季的批次檔 排程加入 1-3month.bat 4-6month.bat 7-9month.bat 10-12month.bat 各個檔案要跑的時間點即可! |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=bx2aa;1099282]r 是不小心按到的吧! List.txt 是備份內容 只要有確切路徑檔名就會備份. dir /s /b /a-d E:\RSS\ps\com\gongshi\*%date:~0,4%%date:~5,2%%date:~8,2%*.bak >>list.txt 就會把 E:\RSS\ps\com\gongshi\ 目錄下的所有目錄內檔名中含有當天年月日的所有 .bak 通通列入備份的列表中. "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 E:\TransactionLogbackup\114_comrar\[COLOR="Red"]114com%date:~0,4%%date:~5,2%%date:~8,2%.rar[/COLOR] @list.txt 在最後一行中加入例如: "%ProgramFiles%\WinRAR\rar" a -r -y -o+ -m5 E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar @list.txt if %date:~5,2% LEQ 3 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 1-3month.bat if %date:~5,2% GEQ 4 if %date:~5,2% LEQ 6 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 4-6month.bat if %date:~5,2% GEQ 7 if %date:~5,2% LEQ 9 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 7-9month.bat if %date:~5,2% GEQ 10 if %date:~5,2% LEQ 12 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 10-12month.bat 每年開春手動刪除 1-3month.bat 4-6month.bat 7-9month.bat 10-12month.bat 或是年初多設定一個排程 delete.bat ============= del 1-3month.bat del 4-6month.bat del 7-9month.bat del 10-12month.bat ============= 或是每次都跑一次 echo del 1-3month.bat >> ??month.bat 上面改為 if %date:~5,2% LEQ 3 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 1-3month.bat && echo del 10-12month.bat >> 1-3month.bat if %date:~5,2% GEQ 4 if %date:~5,2% LEQ 6 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 4-6month.bat && echo del 1-3month.bat >> 4-6month.bat if %date:~5,2% GEQ 7 if %date:~5,2% LEQ 9 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 7-9month.bat && echo del 4-6month.bat >> 7-9month.bat if %date:~5,2% GEQ 10 if %date:~5,2% LEQ 12 echo del E:\TransactionLogbackup\114_comrar\114com%date:~0,4%%date:~5,2%%date:~8,2%.rar >> 10-12month.bat && echo del 7-9month.bat >> 10-12month.bat 跑過任何一季的 ?-?month.bat 會清掉上一季的批次檔 排程加入 1-3month.bat 4-6month.bat 7-9month.bat 10-12month.bat 各個檔案要跑的時間點即可![/QUOTE] 謝謝大大辛苦說明,感謝您為小弟解決壓縮備份問題,非常感謝,請問大大是否可以留個msn聯絡方式,小弟改日若有其它問題,方可請教大大您。 |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=etsinz;1099335]謝謝大大辛苦說明,感謝您為小弟解決壓縮備份問題,非常感謝,請問大大是否可以留個msn聯絡方式,小弟改日若有其它問題,方可請教大大您。[/QUOTE] 平時都沒開 MSN 開機時就關掉, 除非很久沒下載微軟網路廣播, 才偶而登入一次. 上一次用好像是一、二年前吧! 有問題發帖發問, 若其他人會, 應該很樂意回答! |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=bx2aa;1099474]平時都沒開 MSN 開機時就關掉, 除非很久沒下載微軟網路廣播, 才偶而登入一次. 上一次用好像是一、二年前吧! 有問題發帖發問, 若其他人會, 應該很樂意回答![/QUOTE] 了解,謝謝,另詢問大大,你會用cms架站嗎? |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=etsinz;1099532]了解,謝謝,另詢問大大,你會用cms架站嗎?[/QUOTE] 以前有人發過 Joomla 我接著回 Joomla phpBB MySQL 全自動安裝, 那個算CMS嗎? 從空機 "開電源" "放光碟", 全自動安裝到好, 我算會裝嗎? 因為我都沒動一個按鍵和滑鼠, 全自動的, 除了分割硬碟外! 現在討論的內容和 WinRAR 和定期備份沒關了! |
回覆: 【教學】利用 WinRAR 定期備份資料 [QUOTE=bx2aa;1099541]以前有人發過 Joomla 我接著回 Joomla phpBB MySQL 全自動安裝, 那個算CMS嗎? 從空機 "開電源" "放光碟", 全自動安裝到好, 我算會裝嗎? 因為我都沒動一個按鍵和滑鼠, 全自動的, 除了分割硬碟外! 現在討論的內容和 WinRAR 和定期備份沒關了![/QUOTE] 是的,我只是剛好想到有關這方便問題,順便請問一下而已。 |
所有時間均為 +8。現在的時間是 01:33 PM。 |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。