目前几乎所有的程序都有系统操作日志的保存,可一旦磁盘空间满了的时候,应该如何清理指定时间的日志文件呢?
大家一般采取的解决方案都是定时保存指定时间的日志,可这种解决方案也有一些缺点,比如还没有达到指定日期的触发条件时,可这个时候磁盘空间满了的时候,应该如何避免这种情况呢?
下面我采取的方案是每天定时检查磁盘空间的变化,一旦小于指定的空间时,就通过任务去执行cmd批处理文件,让其直接清理日志文件,如下:
:: Clear log files @echo off title Clear NewRetail Log files ::查看磁盘空间,FreeSpace保存的是剩余空间 wmic LogicalDisk where "Caption='D:'" get FreeSpace,Size /value :: Log folder set log_dir="D:\NewRetail\Logs" :: 保留日志天数 set bak_dat=15 :: Clear Log files,通过判断剩余空间清理指定目录的日志文件 if FreeSpace LEQ 2000000 forfiles /p %log_dir% /S /M *.log /D -%bak_dat% /C "cmd /c echo 正在删除@relpath 文件… & echo. & del @file"
标签:文件,Log,清理,echo,磁盘空间,日志,log 来源: https://www.cnblogs.com/zunzunQ/p/13998857.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。