Linux创建定时删除日志任务
定时删除3天前的所有日志文件:
1、例:脚本对应的要删除的目录为/home/logs
在home目录创建文件clearLogFiles.sh:
cd /home
vim clearLogFiles.sh
写入脚本内容
(type f 表示值删文件,不删文件夹)
(-mtime +2 表示更新时间为3天前)
(| xargs 不能查到名字有空格的文件)
#!/bin/bash
find /home/logs/ -type f -mtime +2 | xargs rm -f
如果日志后缀都为.log,则按照名字删除
#!/bin/bash
find /app/logs/ -name "*.log" -mtime +2 | xargs rm -f
如果日志名称有空格,则使用-exec
#!/bin/bash
find /home/backups -mtime +2 -name "*.*" -exec rm -rf {} \;
Linux 自动删除N小时或分钟前的文件
Linux下自动删除2小时之前的日志文件
find /home/log/ -mmin +120 -name "*.log" -exec rm -rf {} \;
执行完上面的命令后,在/home/log/目录下所有的120分钟或者说2小时以前生成的或者更改过的以.log结尾的日志文件都会被删掉。
如果要删除两小时之内的日志文件,使用下面的命令:
find /home/log/ -mmin -120 -name "*.log" -exec rm -rf {} \;
将上面的find命令加到Linux系统的任务计划crontab里,即可实现自动定时删除文件。
2、为脚本增加可执行权限
chmod +x clearLogFiles.sh
3、编辑定时任务
crontab -e
#设置每天凌晨3点30执行
30 3 * * * sh /home/clearLogFiles.sh
查看定时任务
crontab -l
30 3 * * * sh /home/clearLogFiles.sh
直接执行一次试一试:
/home/clearLogFiles.sh
最新文章
- 30天的php学习之路——第一天开端
- Java常用的技术网站
- ios中自定义cell 设置cell的分组结构
- hdu 1513
- Android——微信界面(简易版)
- HTML的disabled属性及readonly属性
- 下拉刷新--第三方开源--PullToRefresh
- hibernate数据库配置
- C# 缓存学习总结
- EasyWebServer编写CGI程序的环境变量
- intial-scale=1的含义
- 第一次在gitHub上传项目到git.oschina的方法
- jpgraph 折线图--解决中文乱码的问题(标题和图例)
- 基于Servlet+jsp的web计算器
- java常使用的框架
- Spring Boot中使用Swagger2构建RESTful APIs
- Eclipse报错:An internal error has occurred. Widget is disposed
- Python继承扩展内置类
- 记JS一个错误,
- LVS 之搭建