cheneydog
V2EX  ›  问与答

系统维护,需要监控目录大小,超过大小按照日期删除子文件和子文件夹。

  •  
  •   cheneydog · Oct 27, 2020 · 2312 views
    This topic created in 2200 days ago, the information mentioned may be changed or developed.
    这么个需求,用脚本写起来感觉都好困难。
    如果让你做这个需求,你是愿意写成 shell 、 还是 python 、还是 golang 写好编译成 bin ?
    22 replies  •  2020-10-28 00:02:57 +08:00
    cheneydog
    cheneydog
    OP
    Oct 27, 2020
    1
    或者写成 nodejs 的?
    CallMeReznov
    CallMeReznov
    Oct 27, 2020
    2
    python
    os.listdir
    os.path.getsize


    mv 到单独的文件夹里,为了稳妥,单独操作删除步骤,想定时带确认那都随便你了。
    QingXuJiaZhi
    QingXuJiaZhi
    Oct 27, 2020
    3
    用什么都一样,这个级别的任务体现不了多少语言优势,用最熟练的语言来做就行。
    v2orz
    v2orz
    Oct 27, 2020
    4
    shell 应该最容易
    Tumblr
    Tumblr
    Oct 27, 2020
    5
    PowerShell,非常简单的一个实现了。。。
    w274189159
    w274189159
    Oct 27, 2020
    6
    shell 不是很简单嘛。ll -Sh 文件大小排序后超过大小的用 find 查找日期时间段的筛出来删除
    cheneydog
    cheneydog
    OP
    Oct 27, 2020
    7
    @w274189159
    @v2orz
    我咋觉得 shell 写起来好麻烦,一个 if 就要好多行。
    cheneydog
    cheneydog
    OP
    Oct 27, 2020
    8
    @Tumblr linux 的服务器
    swulling
    swulling
    Oct 27, 2020 via iPhone
    9
    shell 一行
    Tumblr
    Tumblr
    Oct 27, 2020
    10
    @cheneydog #7 平台不太重要,PowerShell 是跨平台的。
    hanxiV2EX
    hanxiV2EX
    Oct 27, 2020 via Android
    11
    find 命令加 rm 命令就行
    MeteorCat
    MeteorCat
    Oct 27, 2020 via Android
    13
    shell 无脑做就行了,用系统自带不需要什么依赖,干干净净
    cheneydog
    cheneydog
    OP
    Oct 27, 2020
    14
    @hanxiV2EX 这个是按照天删的,需求是按照最大大小删的,还是有点区别的。
    cheneydog
    cheneydog
    OP
    Oct 27, 2020
    15
    @MeteorCat 我觉得 shell 的 if else 特别难看,读个配置文件都很麻烦。
    hanxiV2EX
    hanxiV2EX
    Oct 27, 2020 via Android
    16
    @cheneydog 你标题不是写的按照日期删么
    alixali
    alixali
    Oct 27, 2020 via iPad
    17
    shell 更清晰,执行不会出问题。python 的话就几行就完事了,加上定时任务;两个风格不一样。
    MeteorCat
    MeteorCat
    Oct 27, 2020 via Android
    18
    @cheneydog ......我都是看注释说明,注释到位啥都行,难不难看不寒碜又不是找老婆,当然你要好看也可以 python 一把梭,这种没什么大问题,我一般服务器要求都是用最少的东西干最多的活
    cheneydog
    cheneydog
    OP
    Oct 27, 2020
    19
    @MeteorCat
    @alixali
    @hanxiV2EX
    看了几位的观点,现在已经倾向于 shell 直接写了,如果后续还要加一些:eg. 配置文件指定多个目录 /MGK 表示限定大小 /忽略指定子文件 等一些啰嗦的需求,shell 会不会不好维护?
    MeteorCat
    MeteorCat
    Oct 27, 2020 via Android
    20
    @cheneydog 参数提取,写成像脚本一样丢个参数执行,和脚本文件一样传参数就行了
    alixali
    alixali
    Oct 27, 2020 via iPad
    21
    @cheneydog 看你这个是单台机器还是多台,对于多台集群,来说每台的环境都一样那就可以直接读取一台机子上的 shell 文件。单台的话就区分就不是特别的大了。维护的话我还是觉得 shell 方便一点。
    hanxiV2EX
    hanxiV2EX
    Oct 28, 2020 via Android
    22
    @cheneydog 说到维护,你可以参考 acme.sh
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2880 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 12:18 · PVG 20:18 · LAX 04:18 · JFK 07:18
    ♥ Do have faith in what you're doing.