V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JasonLaw
V2EX  ›  程序员

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

  •  
  •   JasonLaw · 2021-06-10 16:34:07 +08:00 · 2156 次点击
    这是一个创建于 1267 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    现在就是这样子处理的😬
    jack778
        17
    jack778  
       2021-06-11 09:48:01 +08:00
    如果你没有把需要使用文件的唯一标识保存起来,那么怎么来确定哪些文件是不再需要使用的呢
    JasonLaw
        18
    JasonLaw  
    OP
       2021-06-11 09:52:58 +08:00
    @jack778 #17 是的,没办法🤐
    jack778
        19
    jack778  
       2021-06-11 10:00:30 +08:00
    @Ljcbaby 没有被访问不代表就可以删除呀,万一这个文件要在未来的某年某月使用呢。
    JasonLaw
        20
    JasonLaw  
    OP
       2021-06-11 10:05:40 +08:00
    @jack778 #19 在没有更好的办法之前,这是最好的办法了。
    baobao1270
        21
    baobao1270  
       2021-06-11 13:11:27 +08:00
    写一个引用计数器 XD
    qingeekk
        22
    qingeekk  
       2021-06-11 17:56:13 +08:00
    你现在一定是能查到在用的资源地址对吧?那你就按照这些地址从七牛云里同步到另一个文件夹里或者空间里,然后把原来的那个空间全部删除
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1047 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:12 · PVG 05:12 · LAX 13:12 · JFK 16:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.