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

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

  •  
  •   JasonLaw · 4 天前 · 1278 次点击

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

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

    现在就是这样子处理的😬
    jack778
        17
    jack778   4 天前
    如果你没有把需要使用文件的唯一标识保存起来,那么怎么来确定哪些文件是不再需要使用的呢
    JasonLaw
        18
    JasonLaw   4 天前
    @jack778 #17 是的,没办法🤐
    jack778
        19
    jack778   4 天前
    @Ljcbaby 没有被访问不代表就可以删除呀,万一这个文件要在未来的某年某月使用呢。
    JasonLaw
        20
    JasonLaw   4 天前
    @jack778 #19 在没有更好的办法之前,这是最好的办法了。
    baobao1270
        21
    baobao1270   4 天前
    写一个引用计数器 XD
    qingeekk
        22
    qingeekk   3 天前
    你现在一定是能查到在用的资源地址对吧?那你就按照这些地址从七牛云里同步到另一个文件夹里或者空间里,然后把原来的那个空间全部删除
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3455 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 17ms · UTC 07:06 · PVG 15:06 · LAX 00:06 · JFK 03:06
    ♥ Do have faith in what you're doing.