如何在linux下用crontab删除一些文件

时间:2014-05-07 10:26:15

标签: python linux

我有两个关于使用crontab文件的问题:
我正在使用一项服务。运行时,每天在日志目录中创建一个新的日志文件。我想删除该日志目录中已存在5天以上的所有文件 2.我想在日志文件中删除存在时间超过5天的所有信息(/ var / log / syslog)

我不知道如何用linux中的crontab做到这一点。请帮我!提前谢谢!

1 个答案:

答案 0 :(得分:1)

  1. 如果您使用logrotate进行日志轮换,那么它可以选择删除旧文件,如果没有,您可以在cron中每天运行一次这么简单的事情:
  2.   

    find / path / to / log / folder -mtime +5 -type f -exec rm {} \;

    或者更具体地匹配文件名中的模式

      找到。 -mtime +5 -type f -name * .log -exec ls -l {} \;

    1. 为什么不为syslog设置logrotate以便每天轮换,然后使用其选项删除超过5天的任何内容。 其他选项包括解析日志文件并保留某些方面等删除其他位等涉及写入另一个文件并返回等等,当涉及到实时日志文件时,这可能最终导致其他问题,例如需要重新启动服务重新进入文件。所以最好的选择是syslog
    2. 的logrotate