windows服务器程序日志太多,每天压缩7天之前的日志并将其压缩包备份D:\LOG_BACKUP目录,无须安装软件,部署方便快捷

本文详细描述了一个使用批处理脚本logbackup.bat,定期备份D:LOG_BACKUP目录下7天内.log文件到WinRAR压缩包的过程,包括设置WinRAR路径、配置logfile.txt输入日志路径并通过任务计划程序实现每日定时自动执行。
摘要由CSDN通过智能技术生成

1、创建D:\LOG_BACKUP\logfile.txt

(把要修改的路径放到第二部创建的logfile.txt里,内容示例:(中文也要,第一行内容会忽略,日志路径从第二行开始读取))

压缩后存放日志备份的路径 日志的路径(中间以空格隔开)
D:\LOG_BACKUP\ApiLog D:\Api\runtime\ApiLog
D:\LOG_BACKUP\Apiruntimelog D:Api\runtime\log

2、创建D:\LOG_BACKUP\logbackup.bat

@echo off
set Path=;"C:\Program Files\WinRAR";%SystemRoot%\system32
::获取目录
for /f "skip=1 tokens=1,2" %%a in (D:\LOG_BACKUP\logfile.txt) do (
    ::获取指定路径下所有文件和文件夹的名称 
    for /f "tokens=*" %%i in ('dir /b %%b') do (
    
    ::判断当前目录遍历是文件还是文件夹
    if exist %%b\%%i\ (
    ::如果是文件夹则在备份文件夹创建文件夹
        mkdir %%a\%%i
        forfiles /p "%%b\%%i" /d -7 /m *.log /c "cmd /c WinRAR a -afzip -m3 -inul -ibck -df -tl %%a\%%i\@file.rar @file"
    ) else (
    mkdir %%a
        forfiles /p "%%b" /d -7 /m *.log /c "cmd /c WinRAR a -afzip -m3 -inul -ibck -df -tl %%a\@file.rar @file")
    )
)

3、复制一个WinRAR.exe到C:\Program Files\WinRAR,

或者直接装一个WinRAR,然后把上面的bat路径Path参数里的winrar路径改一下就可以了

4、运行cmd,看看是否能否自动开始压缩了,文件夹有没有创建

5、打开任务计划程序,设置每天23:00自动运行即可

6、觉得好用就点个赞或者评论一下

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个可以实现你要求的 Python 程序: ```python import os import shutil import time # 待清理的目录路径 dir_path = r'C:\example\dir' # 日志文件路径 log_path = r'C:\example\log.txt' # 获取当前时间 now = time.time() # 遍历目录并删除过期文件和文件夹 for root, dirs, files in os.walk(dir_path): for file in files: file_path = os.path.join(root, file) # 获取文件的最后修改时间 mtime = os.path.getmtime(file_path) # 如果文件超过7未修改,则删除 if now - mtime > 7 * 24 * 3600: os.remove(file_path) with open(log_path, 'a') as f: f.write(f'Deleted file: {file_path}\n') for dir in dirs: dir_path = os.path.join(root, dir) # 获取文件夹的最后修改时间 mtime = os.path.getmtime(dir_path) # 如果文件夹超过7未修改,则删除 if now - mtime > 7 * 24 * 3600: shutil.rmtree(dir_path) with open(log_path, 'a') as f: f.write(f'Deleted directory: {dir_path}\n') # 删除过期压缩包 for file in os.listdir(dir_path): file_path = os.path.join(dir_path, file) # 如果文件是压缩包且超过7未修改,则删除 if os.path.isfile(file_path) and file.endswith('.zip') and now - os.path.getctime(file_path) > 7 * 24 * 3600: os.remove(file_path) with open(log_path, 'a') as f: f.write(f'Deleted zip file: {file_path}\n') ``` 这个程序会遍历指定目录下的所有文件和文件夹,如果它们的最后修改时间超过7,则会将其删除。同时,如果目录下存在扩展名为 .zip 的文件并且最后修改时间超过7,则也会被删除。程序会将所有删除操作的详细信息记录到指定的日志文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值