本地日志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%"
   )

   

猜你喜欢

转载自liyonghui160com.iteye.com/blog/2091029