• linux delete files older than 3 days


    4 down vote accepted

    This is easy enough (although note that this goes by a modification time more than 3 days ago since a creation time is only available on certain filesystems with special tools):

    find /a/b/c/1 /a/b/c/2 -type f -mtime +3 #-delete

    Remove the # before the -delete once you are sure that it is finding the files you want to remove.

    To have it run by cron, I would probably just create an executable script (add a shebang - #!bin/sh to the top line of the file and make executable with chmod a+x), then put it in an appropriate cron directory like /etc/cron.daily or /etc/cron.weekly. Provided of course that you do not need a more specific schedule and that these directories exist on your distro.

    Update

    As noted below, the -delete option for find isn't very portable. A POSIX compatible approach would be:

    find /a/b/c/1 /a/b/c/2 -type f -mtime +3 #-exec rm {} +

    Again remove the # when you are sure you have the right files.

    Update2

    To quote from Stéphane Chazelas comment below:

    Note that -exec rm {} + has race condition vulnerabilities which -delete (where available) doesn't have. So don't use it on directories that are writeable by others. Some finds also have a -execdir that mitigates against those vulnerabilities.

    link:http://unix.stackexchange.com/questions/136804/cron-job-to-delete-files-older-than-3-days

  • 相关阅读:
    python ConfigParser、shutil、subprocess、ElementTree模块简解
    python中getattr函数 hasattr函数
    对简历的一点看法
    信息过载下的时间管理
    沉默的QQ
    想把余生变诗篇
    你的薪水偏高了吗?
    写给三十五岁的自己
    传统企业对互联网的痴心妄想
    小二,换大碗!
  • 原文地址:https://www.cnblogs.com/rosepotato/p/4076584.html
Copyright © 2020-2023  润新知