linux删除日志文件
1、删除指定日期前的日志
find /logs/api-internet/ -mtime +3 -name "*.log" -exec rm -rf {} \;
#/logs/api-internet/ 日志绝对路径
#-mtime 3 日志修改时间距离当前为3天
#-mtime +1 文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
#-name "*.log" 指定日志文件名
#-exec rm -rf {} \ 执行删除文件
2、定时删除日志
新建一个可执行文件clear.sh
#vi clear
#!/bin/sh
find /logs/api-internet/ -mtime +3 -name "*.log" -exec rm -rf {} \;
赋权
chmod 777 clear
将clear.sh文件加入到系统计划任务,到点自动执行
crontab -e
*0 2 * * */usr/local/bin/clear
#这里的设置是每天凌晨2点执行clear文件进行数据清理
例子1:清除tomcat日志并输出操作时间到日志
- 新建执行文件 clear.sh
mkdir -p /data/clear/
cd /data/clear/
vi clear.sh
输入:
#/bin/sh
true > /patch/tomcat/logs/catalina.out
rm -rf /patch/tomcat/logs/*.txt
echo "tomcat日志清理成功!时间: $(date +%F)" >> /data/clear/clear.log
赋权 chmod +x clear.sh
2、新建日志文件 touch clear.log
3、查看corn服务是否启动
systemctl status crond
#启动
systemctl start crond
4、设置定时任务
crontab -e
0 2 * * * /data/clear/clear.sh
#这里的设置是每天凌晨2点执行clear文件进行数据清理
5、重启定时任务生效
systemctl restart crond
例子2:定时删除日志文件并输出日志
- 新建执行文件 vim clear.sh
find /path/logs/ -mtime +2 -name "*.log" -exec rm -rf {} \;
echo "日志清理成功!时间: $(date +%F)" >> /logs/clear/clear.log
2、3、4步骤同例子1