当前位置: > Linux教程 > 系统运维 >

Linux 定时任务 删除指定时间前的文件

时间:2019-02-28 17:56来源:linux.it.net.cn 作者:IT
♩ 背景
随着网站体量的不断增大,很多缓存日志造成资源你的浪费,为此,想着写一个计划任务,定期删除没必要的缓存数据
♪ 操作指导
①. 新建一个可执行文件
touch /usr/local/bin/clear_log

 
注意,赋予权限:chmod 777 clear_log
 
②. 编辑 clear_log 文件,在其中添加类似下面的代码
#!/bin/sh
find /mnt/www/Application/Runtime/Logs  -mtime +10 -name *.* -exec rm -rf {} \;
find /tmp  -type f -mmin +120 -name *.log -exec rm -rf {} \;
 

 
解析:
find 后面紧跟的是要查找的目录,. 表示当前目录
-type f: 指定查找对象为文件
-name *.log: 指定查找对象名称以.log结尾
-mtime +10: 查找10天以前的老文件
-mmin +120: 查找120分钟(两小时)以前的老文件
-exec rm -rf {} ; :执行删除命令,这句注意,后面有个 {} ; 是必须的
 
③. 将 clear_log 文件加入到系统计划任务
# crontab -e

 
然后,输入:
 
# 每三十分钟执行一次
*/30 * * * * /usr/local/bin/clear_log
 

 
④. 保存代码后 ,再执行下面的命令,以保证计划任务的生效
# /etc/rc.d/init.d/crond restart  
 

 
 
♫ 附录
①. 磁盘使用状况:
可通过 df -h 查看磁盘使用情况
通过 du -h --max-depth=1 查看对应目录下文件的资源占用情况
 
通过分析以上数据,判断哪个目录或者缓存、log文件占用资源大,进行后面的删除操作
 
②. 参考文章:
【计划任务定时删除文件(共7篇)】
【Linux 删除指定时间前的文件】
【Linux crontab 定时任务整理笔记】
 



(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容