帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Windows和Linux下定时删除某天前的文件的脚本

Windows和Linux下定时删除某天前的文件的脚本

2017-09-27 03:45:31 5973

无论是在windows下还是linux下,很多的日志文件如果不定时删除会充满硬盘,所以可以分别写个脚本定时处理一下

以前做到最多的定时我们就是定时备份功能了,我们常用利用定时功能来备份网站数据或备份数据库了,下面我来给(www.landui.com)大家介绍几个Linux与Windows中定时删除某天前的文件方法,这个与备份有点区别,但大同小义了。

Windows下bat文件内容如下;


复制代码代码如下:


@echo off
forfiles -p "D:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"
forfiles -p "D:\servers\mysql\logs" -s -m *.log -d -15 -c "cmd /c del @path"


可以将上面的目录换成指定的目录,*.log可以筛选一下文件格式,-d后面的参数为负数表示多少天之前的,正数是多少天之后的。保存成bat文件,然后在Windows计划任务里面设置每天执行的时间就可以了。

Linux下面的shell文件内容如下:


复制代码代码如下:


#!/bin/bash
 # 删除30天之前的文件
 find /var/usr/nginx/logs/ -mtime +30 -type f -name \*.gz | xargs rm -f


同样的将上面的目录换成自己指定的目录,后面的\*.gz表示文件扩展名,-mtime后面的参数与上面Windows的相反,正数表示多少天之前的文件。将上面的内容保存成.sh并使用chmod +x 设置成可执行权限,然后放到定时任务中去执行即可。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: