目录
- 思路
- find 命令
- 需要用到 -mtime n 参数
- shell脚本
- 三种方法
- 方法一
- 方法二
- 方法三
- 配置计划任务
思路
要想删除三个月前的日志,先得找到三个月前的日志才行,可以通过 find命令查找。
find 命令
1.find命令基本介绍
find顾名思义就是查找,find命令主要沿着目录结构依次向下遍历,匹配符合条件的文件,可以附带执行相应的操作选项,默认的操作结果是打印出符合条件的文件与目录。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示
2.find命令基本信息:
命令名称:find
英文原意:search for files in a directory hierarchy.
所在路径:/bin/find
执行权限:所有用户
功能描述:在目录中查找文件
3.find命令格式
find 搜索路径 [选项] 搜索内容 [输出处理形式]
需要用到 -mtime n 参数
按文件更改时间查找文件,-n指n天以内,+n指n天以前,n是整数
shell脚本
三种方法
方法一
#!/bin/bash
find /data/logs/air/air-app -mtime +91 -exec rm -rf {} \;
方法二
find /data/logs/air/air-app -mtime +91 -delete
方法三
find /data/logs/air/air-app -mtime +91 | xargs rm -rf
配置计划任务
- 将上面的命令写入sh文件 del_app_log.sh
#!/bin/bash
echo '开始执行清除1天前的应用日志========================================' >> /data/logs/clear_record.log
#find /data/logs/air/air-app -mtime +91 -exec rm -rf {} \;
#find /data/logs/air/air-app -mtime +91 -delete
# find /data/logs/air/air-app -mtime +91 | xargs rm -rf
find /data/logs/air/air-app -name *.log >> /data/logs/clear_record.log
echo '清除1天前的应用日志已结束========================================' >> /data/logs/clear_record.log
- 配置
crontab -e
- crond进程的启动、重启、停止
(1)service crond start–启动
(2)service crond stop–停止==systemctl stop crond
(3)service crond restart–重启(先关闭后启动)
重启
service crond restart
定时任务开始执行了!!!!!!!!!!!!!!!!!