• 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

  • 相关阅读:
    Sql例子Sp_ExecuteSql 带参数
    Flex显示麦克风当前音量
    无法将 flash.display::Sprite@156b7b1 转换为 mx.core.IUIComponent
    FMS (端口问题)如何穿透防火墙
    19:A*B问题
    6264:走出迷宫
    2753:走迷宫
    1792:迷宫
    换钱问题(经典枚举样例)
    1943(2.1)
  • 原文地址:https://www.cnblogs.com/rosepotato/p/4076584.html
Copyright © 2020-2023  润新知