我要在一臺 windows 2012 R2 的服務器上,實作一個日志檔案清理的腳本,具體情況如下:
1.遍歷D:\app\目錄,找出目錄下修改時間在32天前的*.log日志檔案,壓縮檔案并洗掉源檔案,然后剪切到 E:\appbak\ 目錄下
2.遍歷D:\data\目錄,找出修改時間為32天前的 帶有名稱為“log-<YYYYMMDDHHmmss>”目錄,并將找到的目錄下的*.log日志檔案壓縮并洗掉源檔案,然后再將這些符合條件的目錄整個剪切到 E:\databak\目錄下
壓縮可以用7z的命令,路徑是默認安裝的,對批處理或者powershell都不是很熟,還希望各路大神能幫小弟的忙,批處理或powershell都可以,學習學習,謝謝!
uj5u.com熱心網友回復:
@echo offrem 設定源地址
set url1=F:\
rem 設定目的地址
set url2=D:\
rem 當前日期 用于設定備份檔案名,
set date1=%date:/=%
set date2=%date1:~0,8%
rem 找到源地址中所有32天前 .log 檔案 使用7z壓縮為當前日期+日志備份.zip
forfiles -p %url1% -m *.log -d 32 -c "cmd /c 7z a -tzip %date2%日志備份.zip @file"
rem 洗掉掉壓縮的檔案
forfiles -p %url1% -m *.log -d 32 -c "cmd /c del /f /q @file"
rem 將壓縮包轉移到目的地址
move %url1%%date2%日志備份.zip %url2%
exit
以前我寫的一個,我也是菜鳥,不過這個到時可以實作我的需求
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/106781.html
下一篇:txt檔案批處理
