windows下自动删除过期文件的脚本

前言

比如日志文件每天都产生,时间长了就会有很大的一堆垃圾。整理一下 定时删除文件的方法。

正文

Windows:

定时删除tomcat日志和缓存。可以保留天数

forfiles /p "e:\Program Files\Tomcat 7.0\logs" /s /m *.log /d -5 /c "cmd /c del @path"

forfiles /p "e:\Program Files\Tomcat 7.0\logs" /s /m *.txt /d -5 /c "cmd /c del @path"

****   红色的是目录。

绿色是以.log和.txt后缀格式的文件将会被删除。

蓝色是保留的天数,保留天数之内的日志和缓存不会被删除。

创建一个bat文件,按需求修改以上的批处理命令,把修改后的命令放入bat文件, 然后保存。

再通过系统上的任务计划,根据需求自定义创建任务,最后系统自动执行任务,达到自动删除tomcat日志和缓存的目的。

补充说明

在windows server 2003系统中有一个forfiles命令能够查找满足指定条件的文件,下面是这个命令的用法。

forfiles /p <目标目录名> /d <天数> /c <执行的命令>

例:forfiles /p "D:bigantlogs" /s /m *.* /d -3 /c "cmd /c del @path"

解释一下相关参数及命令

/p : 指定开始搜索文件的位置,如果不指定则默认为当前目录。

/m : 文件查找所使用的通配符如代码中的"*.log"则为所有日志文件,当然也可以指定诸如"manmee_*.log"这样以manmee开头的所有日志文件。如果不指定此参数则默认为"*.*"。

/d [{+|-}][{|}] : 指定想选择文件的最后修改时间,上文中用了 "/d -7" 表示所有以当天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:"/d -08/18/2009"这样所有早于2009年8月18日的文件。注意指定的时间必须是"MM/DD/YYYY"的格式。

/c 对所有文件以此执行指定的命令,命令体须在双引号(")内。

补充: 利用windows的任务计划自动重启tamcat程序:

  1. 单击“开始”按钮,然后依次选择“程序”→“附件”→“系统工具”→“任务计划”(或者是“设置”→“控制面板”→“任务计划”),启动“添加任务计划”。

2.在弹出页面中,选择“创建基本任务”,效果如下,输入名称、描述。下一步

3.创建触发器,选择自动执行这个任务的时间频率(如每天、每星期、每月、一次性、每次启动计算机时、每次登录时等),然后单击“下一步”按钮。

4.设置此任务计划需要执行的脚本或程序(自定义脚本)。

5.点击完成,任务完成。可以在该定时任务中查看详情。

Linux:

定时清理7天前的Tomcat日志脚本

#!/bin/bash

logs_path="/tomcat/tomcat-token/logs"

find $logs_path -mtime +7 -name "localhost_access_log.*.txt" -exec rm -rf {} \;

find $logs_path -mtime +7 -name "catalina.*.log" -exec rm -rf {} \;

find $logs_path -mtime +7 -name "manager.*.log" -exec rm -rf {} \;

find $logs_path -mtime +7 -name "host-manager.*.log" -exec rm -rf {} \;

find $logs_path -mtime +7 -name "fileservice.log.*" -exec rm -rf {} \;

原文地址:https://www.cnblogs.com/panie2015/p/8523377.html

时间: 2024-08-25 19:29:49

windows下自动删除过期文件的脚本的相关文章

Linux下的删除过期文件操作

在实际的软件开发项目中,经常会有实现删除过期文件的需求.即要求程序能够自动删除多长时间之前生成的文件.本文提供了一个示例代码,为相关的开发工作提供了参考. 程序如下(本程序用makefile进行编译): /*********************************************************************** 版权所有 (C)2014, Zhou Zhaoxiong.* * 文件名称: TestFileDelete.c* 内容摘要: 用于演示Linux下过期

windows下自动删除n天前的文件

使用windows2003下的内置命令forfiles配合计划任务可以实现自动删除n天前的文件. windows2003中设定自动执行的计划任务很简单. 一.脚本编写 forfiles命令用法: Forfiles 从文件夹或树中选择要进行批处理的文件. 语法 forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]] 参数 /p Path 指定 Path,表明要从哪里开始搜索.默认的

phpstorm配置File Watcher在windows下自动编译sass文件

最近刚接触sass这个css预处理器,其在windows上需要先安装Ruby运行环境.装好Ruby和sass后,发现如果要将.sass文件转成css的话,还需要在控制台中输入命令,比较麻烦. 由于我自己用的IDE是phpstorm,所以去其官网翻了下,可以用里面的File Watchers来实现自动转换.sass->.css文件. 其实当你新建一个.sass文件的时候,phpstorm也会提示是否配置File Watchers. 配置步骤 以windows环境的phpstorm 7.1.3为例:

批处理实现自动删除过期文件的定期操作

执行后会在相同目录下生成日志文件:DelExpiredLog.log现实执行的起始时间点.@echo off rem write to log set filename=DelExpiredLog.log echo -------------------Delete Expired Log Files------------------------- >>%filename% echo Start >>%filename% echo (%date% %time%) >>

SQLServer自动备份和自动删除过期文件

以下为转载的文章: 点击下一步: 自定义名称和说明,点击更改: 点击确定,下一步 1.备份: 选择备份,下一步,再下一步,选择需要备份的数据库: 选择备份文件存放的路径: 点击下一步,选择系统产生的报告存放的位置: 最后点击下一步,点击完成. 看到这个表示任务已经指定完毕: 2.删除备份文件: 下一步,设置报告存放位置,完成.

Windows下自动同步文件的小脚本

分享两个自己整理的在windows下自动定时同步文件的bat小脚本 (照猫画虎 o(∩_∩)o ) ******************************************************************* @echo off color 02 rem 使用goto和lftp来实现定时自动上传文件到ftp服务器指定目录         ##注释信息 :loop echo.   echo.   echo =================================

Linux下两种删除过期文件的方法详述

一.概述 在实际的C软件开发项目中,不同的软件会在不同的目录中生成文件,由于磁盘的存储空间有限,开发人员不得不考虑对目录下的过期文件进行删除.一般说来,有两种删除过期文件的方法,一种是在C程序中实现,一种是利用crontab实现.本文对这两种方法的具体实现进行详细的介绍. 为了便于说明,本文中的过期文件的后缀为.c,存放在/home/zhou/zhouzx/Test目录下,过期时间为1天. 二.在C程序中实现过期文件删除 在该方法中,我们要考虑的主要问题为: (1)要删除过期多久的文件?文件存放

crontab定时任务打包备份文件并删除过期文件

Crontab 示例,最后这里要写成shell脚本定时运行 30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out  /usr/local/tomcat9-jforum/logs Crontab归结为以下几点特性:1.     Crontab约束2.      Crontab命令3.      Crontab文件语法4.      Crontab示例5.      Crontab环境设置6.     邮件7.  

Centos7下自动挂载光盘文件的实现

Centos7下自动挂载光盘文件的实现 问题来源:  最近使用Centos7的命令行终端,发现光盘文件不会自动挂载了.在网络不稳定的状况下,光盘里的rpm包是真的很实用,但是每次登陆之后去手动挂载光盘又比较麻烦,于是便想找找看有没有什么软件可以实现光盘文件的自动挂载.问题的解决:  经过一番查找,在yum源内发现一个autofs的包,它可以实现自动挂载和删除文件系统.  yum源安装的话yum install autofs -y就可以了,但是如果是光盘包安装的话,要注意它还有个依赖包libsss