Linux下删除过期日志文件
简单记录一下工作中遇到的需求问题,写点博客记录一下自己的成长历程。
目前的项目中有需求,需要去定期处理掉服务器上的过期日志文件还有服务器本地存储的过期图片。
理想状态下是7天前的日志和图片都被删掉,目前这篇文章记录删除本地Linux服务器上的日志和图片。
我想到4种实现方式
1 - Java定时任务直接删除本地指定文件,用过滤器过滤出7天的文件,直接用删除文件,这个方法最直接,但是过滤的逻辑和过程就复杂了。
2 - Linux编写删除7天前的日志和图片,这个仅需两行代码即可,但是定时任务要添加到Linux系统中去,需要root权限
3 - Linux编写删除脚本,Java创建定时任务去执行这个脚本,过期时间定时时间都可以随意变更比较灵活,而且维护起来复杂度低。
4 - Java中把Linux脚本编写成字符串格式,用Java定时任务去执行这个字符串生成的脚本。最简洁,最方便
4种方法我都尝试了,最终还是选择了第二种,又快还简单。
当然我也把第3种方法写进去了.希望对看到文章的你有所帮助。
1. Linux脚本编写
创建shell脚本 touch +文件绝对路径
touch /mnt/data/opt/data/cow_spray_control_java/48b02d1854a9/shell/delete.sh
分配可执行权限 chmod +x +文件绝对路径
chmod +x /mnt/data/opt/data/cow_spray_co