• 请不要在回答技术问题时复制粘贴 AI 生成的内容
JasonLaw
V2EX  ›  程序员

如何定位七牛云中不再被使用的文件?

  •  
  •   JasonLaw · Jun 10, 2021 · 3388 views
    This topic created in 1972 days ago, the information mentioned may be changed or developed.

    一直往七牛云存储文件,随着时间的推移,文件越来越多。我想清除掉不再被使用的文件,请问如何定位那些“垃圾”文件呢?

    22 replies  •  2021-06-11 17:56:13 +08:00
    litianqi1995
    litianqi1995
    Jun 10, 2021
    1
    下载 cdn 日志 去下重 ,再扒一份文件列表 diff 一下。
    graetdk
    graetdk
    Jun 10, 2021
    2
    这个需求确实有,但七牛貌似没有支持
    InternetExplorer
    InternetExplorer
    Jun 10, 2021
    3
    从代码、数据库里找文件引用,然后拿七牛云的文件对比,没有引用的文件就是没用的
    JasonLaw
    JasonLaw
    OP
    Jun 10, 2021
    4
    @litianqi1995 #1 也就是“通过日志找到被使用的文件,然后通过减法得到不再被使用的文件”?
    litianqi1995
    litianqi1995
    Jun 10, 2021
    5
    嗯 原则上现在访问都会走 cdn 的 ,所以可以这样反向过滤。
    qwerthhusn
    qwerthhusn
    Jun 10, 2021
    6
    定位那些“垃圾”文件前,首先弄到“有用”文件的列表,然后用他提供的 API 去扫,匹配不上直接 API 删除。
    JasonLaw
    JasonLaw
    OP
    Jun 10, 2021
    7
    @qwerthhusn #6 如何定位“有用”的文件呢?
    Kinnice
    Kinnice
    Jun 10, 2021
    8
    "不再被使用的文件" 如何定义呢?
    JasonLaw
    JasonLaw
    OP
    Jun 10, 2021
    9
    @Kinnice #8 没有被引用到的,不可达的,类似于垃圾回收时的垃圾,不过好像没有办法知道"不再被使用的文件"。
    qwerthhusn
    qwerthhusn
    Jun 10, 2021
    10
    @JasonLaw 如何定义“有用”的文件呢?
    qwerthhusn
    qwerthhusn
    Jun 10, 2021
    11
    那你就从数据库里面把各种文件全部写个逻辑,爬一遍啊。
    Senorsen
    Senorsen
    Jun 10, 2021
    12
    @JasonLaw 那就做可达性分析,像各位 ls 说的那样,分析哪些文件“会再被使用”
    zhch602
    zhch602
    Jun 10, 2021
    13
    @JasonLaw 垃圾回收时也是从 GCRoots 找到所有有用的对象啊,肯定要先找到正在被使用的文件再考虑后面的
    theOneMe
    theOneMe
    Jun 10, 2021
    14
    可以做有规则的归档,将长时间未使用的资源进行冷处理
    Ljcbaby
    Ljcbaby
    Jun 11, 2021
    15
    自动归档存储应该可以吧,然后定期删除已经归到低频的文件就行
    JasonLaw
    JasonLaw
    OP
    Jun 11, 2021
    16
    @theOneMe #14
    @Ljcbaby #15

    现在就是这样子处理的😬
    jack778
    jack778
    Jun 11, 2021
    17
    如果你没有把需要使用文件的唯一标识保存起来,那么怎么来确定哪些文件是不再需要使用的呢
    JasonLaw
    JasonLaw
    OP
    Jun 11, 2021
    18
    @jack778 #17 是的,没办法🤐
    jack778
    jack778
    Jun 11, 2021
    19
    @Ljcbaby 没有被访问不代表就可以删除呀,万一这个文件要在未来的某年某月使用呢。
    JasonLaw
    JasonLaw
    OP
    Jun 11, 2021
    20
    @jack778 #19 在没有更好的办法之前,这是最好的办法了。
    baobao1270
    baobao1270
    Jun 11, 2021
    21
    写一个引用计数器 XD
    qingeekk
    qingeekk
    Jun 11, 2021
    22
    你现在一定是能查到在用的资源地址对吧?那你就按照这些地址从七牛云里同步到另一个文件夹里或者空间里,然后把原来的那个空间全部删除
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1389 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 20:55 · PVG 04:55 · LAX 12:55 · JFK 15:55
    ♥ Do have faith in what you're doing.