Win服务器定期备份日志log文件

发布于 2021-03-17  33 次阅读


公司祖传的 Windows server 服务器 跑了一些程序产生的日志文件塞满了服务器,手动清理又麻烦
所以得整一个批处理 自动去处理这些日志文件。

查了一下,需要用到WinRAR 这个软件,因为它带命令行功能,WinRAR的安装目录下 有个 WinRAR.chm 帮助文件里面有介绍如何使用

写个bat文件:
start C:\"Program Files"\winrar\rar m -k -r -s -m3 -agYYYYMMDD-{bak}-NN C:\备份目录\ C:\日志目录*.log

1、首先这条命令 需要机器上已经安装有WinRAR软件,并且默认安装,核对下是否安装在 C:\"Program Files"\winrar 目录下,有出入自行修改目录中的目录路径
2、命令参数说明:
m ---m是移动文件到压缩包,可以理解成压缩并删除源文件,当然也可以改成 a 只压缩文件
-k ----锁定压缩包,防止意外修改
-r ----递归子文件夹
-s -----创建固实压缩文件,我的理解就是最大化压缩率
-m3 ----数字代表压缩标准,0:存储不压缩 ,1:最快 ,2:快速,3:标准 ,4:最好
-ag ----生成的文件名格式
后面是两个文件文件夹的目录位置自行修改

删除备份文件

set deltime=date:~0,10%
forfiles.exe /p D:\ /s /m *.rar /d -90 /c "cmd /c del/s @path >>D:\log\deltime%.txt" 

set deltime=date:~0,10%这句是取一个当前时间的变量
forfiles.exe是系统文件,查找文件的。
/P是定义查找的路径
D:\是定义查找路径D盘下面
/S是定义查找范围包括子目录
/M *.rar 定义查找*.rar的文件
/D 是当前时间-90 早于或者等于当前时间减90天,也就是7天前
/C 是调用命令行CMD.EXE的命令
"cmd /c del /s @path >>D:\log\deltime%.txt" 这个是删除查找到的文件,并且把删除文件的文件名导出到D:\log\deltime%.txt这个txt文档
deltime%是个系统时间变量

把上门两个代码保存为bat文件,设置下计划任务定期执行就好了


因为喜欢所以折腾。。。