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

2021-06-10 16:34:07 +08:00
 JasonLaw

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

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

现在就是这样子处理的😬
jack778
2021-06-11 09:48:01 +08:00
如果你没有把需要使用文件的唯一标识保存起来,那么怎么来确定哪些文件是不再需要使用的呢
JasonLaw
2021-06-11 09:52:58 +08:00
@jack778 #17 是的,没办法🤐
jack778
2021-06-11 10:00:30 +08:00
@Ljcbaby 没有被访问不代表就可以删除呀,万一这个文件要在未来的某年某月使用呢。
JasonLaw
2021-06-11 10:05:40 +08:00
@jack778 #19 在没有更好的办法之前,这是最好的办法了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/782679

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX