Windows环境下定期删除文件脚本
  

justgonnab 3506

{{ttag.title}}
在运维过程当中发现最头疼的莫过于服务器磁盘空间越来越大,这样的危险之处在于:如果是系统盘分区的空间挤占严重的话极有可能导致系统无法开机!(本人曾体验过一次,欲哭无泪……)

做软件运维的肯定非常有感触,新软件上线,各种调试日志,各种log,没几个小时就可以达到数个GB以上,所以时刻盯着磁盘的使用率也不是个办法。一个不留神磁盘空间可能就满了。如果碰上其它厂商的软件那就更苦逼了,自己来运维,虽然可以远程协助,但整天也是提心吊胆……

所以是时候想办法做一个定期删除的小脚本了,能让机器干的活全部还给机器。

好在一般的log日志都是按照日期来生产的,这样的话再自动清理log日志文件的时候就方便多了。

废话不多说了,放脚本:

  1. [url=home.php?mod=space&uid=48942]@echo[/url] off
  2. echo 删除log文件……
  3. rem /p-指定X天的文件
  4. forfiles /p "C:\Users\abc\Desktop\新建文件夹" /d -2 /m *.log /c "cmd /c  echo deleting @file ...【已完成】 && del /f @path"
  5. echo ——————————————————————
  6. @pause
复制代码

主要用到forfiles语句。
/p:指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定,如示例中的“C:\Users\abc\Desktop\新建文件夹”。
/d:非常重要,该参数决定了删除文件的日期。其后可加参数  [{+ | - }]或者[{MM/DD/YYYY|DD }],选择日期大于或等于(+)(或者小于或等于(-))指定日期的文件,其中MM/DD/YYYY是指定的日期,只有DD时是当前日期减去DD天。如果未指定+或-,则默认使用+。DD的有效范围是0 - 32768。
/m:查找的文件名掩码,即用来匹配需要删除的文件格式(后缀)。
/c:运行的命令行,表示为每个文件执行的命令。命令行的字符串须用双引号括起来。
  1. "cmd /c echo deleting @file ...【已完成】 && del /f @path"
复制代码
cmd:为打开命令提示符执行后续的指令。
@files:显示文件名称。
/f:指可以强制删除只读文件,无需确认。
@path:文件路径。

编写好脚本并测试,测试通过后将其添加到任务计划程序中,定期执行即可定期删除指定日期前或指定天数前的文件。

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

sangfor_闪电回_晓六 发表于 2018-4-11 09:00
  
棒棒哒,这个分享确实很实用:爱你:
新手589624 发表于 2020-1-29 09:10
  
清理垃圾要及时
发表新帖
热门标签
全部标签>
新版本体验
标准化排查
每日一问
高手请过招
【 社区to talk】
功能体验
纪元平台
技术笔记
产品连连看
信服课堂视频
每日一记
安装部署配置
社区新周刊
sangfor周刊
平台使用
S豆商城资讯
技术晨报
技术盲盒
GIF动图学习
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
用户认证
原创分享
解决方案
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
排障笔记本
产品预警公告
玩转零信任
技术争霸赛
「智能机器人」
追光者计划
2023技术争霸赛专题
卧龙计划
华北区拉练
天逸直播
以战代练
秒懂零信任
山东区技术晨报
文档捉虫
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
西北区每日一问
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
安全效果
云化安全能力
专家说
热门活动
产品动态
行业实践
产品解析
关键解决方案

本版版主

461
248
13

发帖

粉丝

关注

本版达人

feeling

本周分享达人

新手29676...

本周提问达人