本土日志rar压缩备份传输到其他机器上
本地日志rar压缩备份传输到其他机器上
本地日志按照文件命名日期使用rar压缩,并远程备份传输到其他机器上,留作分析的批处理文件,大家参考。
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。 ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。 ::本例假设文件名中包含的日期字符串(比如:ClickLog_20110805.txt) :: 本地存放压缩文件路径 set temprar=D:\cscRAR if not exist %temprar% md %temprar% :: 日志文件路径 set SrcDir=D:\csc.xxx.com\Log\Info rem 指定天数 set DaysAgo=3 >%temp%/DstDate.vbs echo LastDate=date()-%DaysAgo% >>%temp%/DstDate.vbs echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2) >>%temp%/DstDate.vbs echo wscript.echo FmtDate for /f %%a in ('cscript /nologo %temp%/DstDate.vbs') do ( set DstDate=%%a ) set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2% setlocal enabledelayedexpansion for /r %SrcDir% %%a in (*.*) do ( set FileDate=%%~na set FileDate=!FileDate:~12,8! if !FileDate! leq %DstDate% ( if exist %%a ( "C:\Program Files\WinRAR\WinRAR.exe" a -r -s -df -ibck -ep1 %temprar%\!FileDate! %%a ) ) ) endlocal :: 移动压缩文件 target 移动到目标地址 set target=\\192.168.33.30\f$\CscLog\31 for /f "delims=" %%k in ('dir /a /s /b %temprar%\*.rar') do ( move /y "%%k" "%target%" )