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

justgonnab 2062

{{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
  
清理垃圾要及时
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
信服课堂视频
功能体验
GIF动图学习
标准化排查
产品连连看
新版本体验
2023技术争霸赛专题
每周精选
自助服务平台操作指引
秒懂零信任
技术晨报
技术咨询
安装部署配置
玩转零信任
答题自测
通用技术
安全攻防
排障笔记本
社区帮助指南
在线直播
网络基础知识
运维工具
深信服技术支持平台
畅聊IT
专家问答
技术圆桌
MVP
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人