windows 定时删除N天前日志脚本

删除目录
/P 表示目录
/S 表示递归向下查询子目录
/D 表示date -460 意思是460天以前 或者 -2018/11/9 表示这个日期以前的
/C 开始执行命令 内部还有一个cmd
@ISDIR==TRUE 表示判断是不是目录
RD 表示删除目录(文件夹)/s 表示可以删除非空的文件夹 /q 安静模式,不需要停下来回应是否因该删除

示例:

E:\data\bpt\log\ABC>FORFILES /P E:\data\bpt\log /S /D -460 /C "cmd /c if @ISDIR
==TRUE RD /s /q @PATH" >>E:\data\bpt\log\del.log


rem @echo off

rem logpath

set LogPath="E:\data(1)\data\bpt\log"

rem record del_log process

set DelLog="%LogPath%\del_old.log"

echo ----------------------------------------------- >>%DelLog%

rem days

set DaysAgo=30

echo delete the old files start at %Date% - %time% >>%DelLog%

rem del cmd

rem FORFILES /P E:\data\bpt\log /S /D -460 /C "cmd /c if @ISDIR==TRUE echo @PATH" >>%DelLog%

FORFILES /P %LogPath% /S /D -%DaysAgo% /C "cmd /c if @ISDIR==TRUE echo @PATH && RD /s /q @PATH" >>%DelLog%

echo delete the old files end of %Date% - %time% >>%DelLog%

echo ----------------------------------------------- >>%DelLog%

win7下创建定时任务

done!

原文地址:https://www.cnblogs.com/muzhifei/p/muzhjmingw.html

时间: 2024-09-29 18:12:22

windows 定时删除N天前日志脚本的相关文章

Windows定时删除某天前文件的批处理脚本

备注:1.如XP下因为没有forfiles.exe,拷贝windows2003下的forfiles.exe文件到XP的system32目录即可使用forfiles命令.  2.该文档适用于windows客户端操作系统xp win7/8/10,windows服务器端操作系统 server 2003/2008/2012/2016.3.如有错漏,烦劳指出,谢谢! forfiles.exe及帮助 描述:     选择一个文件(或一组文件)并在那个文件上执行一个命令.这有助于批处理作业. 语法: forf

linux自动删除n天前日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

自动删除n天前日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

linux系列之-—04 自动删除n天前日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 [sql] view plaincopy <span style="font-family: 'Microsoft YaHei'; font-size: 14px;">MySQL定时任务event</span> 由于一些业务需求,我们可能需要定时清除数据库一些废弃的数据

mysql定时删除当前时间前分钟的数据

mysql定时删除当前时间前分钟的数据 2013-01-31      0个评论       作者:上官车月 收藏    我要投稿 mysql定时删除当前时间前分钟的数据 Sql代码  www.2cto.com SET GLOBAL event_scheduler = ON; delimiter $$ drop event if exists e_wom_stat; create event e_wom_stat on schedule EVERY 1 day STARTS '2013-01-0

Windows 定时删除指定路径下N天前的日志文件

Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 . @echo off set SrcDir=E:\WORK\Git set DaysAgo=5 forfiles /p %SrcDir% /s /m *.*/d -%DaysAgo% /c "cmd /c del /f /q /a @path" 2.删除指定路径下5天前的所有log文件 @echo off set SrcDir=E:\WORK\Git //指定的路径 :5天前 set DaysAgo=5 

Windows自动删除n天前的文件的批处理脚本

数据库每天备份文件,然而只需要保留七天的备份即可,编写一个批处理脚本文件自动删除七天前的文件并设置定时任务 自动删除文件需要用到forfiles命令 forfiles参数:/p 指定的路径/s 包括子目录/m 查找的文件名掩码/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前   /c 运行的命令行   表示为每个文件执行的命令.命令字符串应该用双引号括起来. 默认命令是 "cmd /c echo @file".下列变量 可以用在命令字符串中: @file    -

log4j删除N天前日志实现

基于Log4j完成定时创建和删除日志的方法 1.     背景 最近要实现定期删除N天前的日志需求: Log4j作为常用的日志生成工具,其清除日志的策略却十分有限.只有在RollingFileAppender中可以通过设置MaxFileSize和maxBackupIndex属性来指定要保留的日志文件大小以及个数,从而实现自动清除. 但是实际生产中,我们的真实的需求常常是定时每天生成一个日志文件,然后保留最近几天或近几个月的日志,历史日志需要及时清理.可是Log4j中的DailyRollingFi