rem set cdp=%CD%
set cdp=D:\桌面\d
forfiles -p "%cdp%" -s -m *.log -d -20 -c "cmd /c del @path"

rem 无论是在windows下还是linux下,很多的日志文件如果不定时删除会充满硬盘,所以可以分别写个脚本定时处理一下
rem Windows下bat文件内容如下;
rem  @echo off
rem  forfiles -p "D:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"
rem  forfiles -p "D:\servers\mysql\logs" -s -m *.log -d -15 -c "cmd /c del @path"
rem /P 可是搜索的路径。在我们这里就是要在哪个目录寻找要删除的文件
rem /M 根据搜索掩码搜索文件。默认为*.log,我们要删除某时间以前的文件。
rem /D 文件修改时间在某个时间之前或者之后,为负数表示多少天之前的,正数是多少天之后的。-15 表示15天之前的文件。
rem /C 表示为每个文件执行的命令,这里是要删除该文件所以为"cmd /c del /F /s /q @file"。其中变量@file表示该文件名。如果要删除文件夹就不用能用DEL要改为rd

rem Linux下面的shell文件内容如下:
rem  #!/bin/bash
rem   # 删除30天之前的文件
rem  find /var/usr/nginx/logs/ -mtime +30 -type f -name \*.gz | xargs rm -f
rem 同样的将上面的目录换成自己指定的目录,后面的\*.gz表示文件扩展名,-mtime后面的参数与上面Windows的相反,正数表示多少天之前的文件。将上面的内容保存成.sh并使用chmod +x 设置成可执行权限,然后放到定时任务中去执行即可

Logo

更多推荐