由于图片视频替换和删除导致阿里云上存在大量系统不再使用的文件如何处理
后台系统用的久了,由于图片替换和删除导致阿里云上存在大量系统不在使用的图片。阿里是按照所有图片和视频等文件总容量以及下载量收费的。所以这些不用的图片和视频需要定期清理。
清理步骤是:
1.遍历访问阿里云节点下的所有文件,并写入excel文件(阿里云文件数据表)。从阿里云中查到的图片文件地址都是http://开头的,要替换成https://开头的.
2.统计后台系统使用的数据库所有的表和字段用到的图片和视频。所以数据的图片和视频规范下图片和视频的前缀很重要,便于统计。数据的图片和视频地址经常有后缀,所以存储时建议存储去掉后缀的。
const ossProcessParams = ['?x-oss-process=video/snapshot,t_1000,m_fast','?x-oss-process=video/snapshot,t_1000,f_jpg', '?x-oss-process=video/snapshot,t_2000,f_jpg','?x-oss-process=video/snapshot,t_3000,f_jpg'];```3.查询数据库上所有表用到图片和视频的数据,并记录到excel表(数据库数据文件表)。
4.打开阿里云文件数据表和数据库数据文件表,比对两个excel数据。遍历阿里云文件数据表的图片地址,在数据库数据文件表中的图片地址查找,找不到就是需要删除的文件(待删除为文件地址表)。给出统计多少文件需要删除,总文件多少。可以指定只统计指定文件夹下需要删除的文件。
5.再次遍历阿里云节点,按照待删除为文件地址表下载到本地。已被误删除后的图片恢复。
6.遍历阿里云节点按照待删除为文件地址表删除不用文件。
下载备份待删除的图片到本地会产生下载费用,但是这这样以后不会每月都对删除文件付容量费。一劳永逸的解决问题。
阿里云 OSS 的删除操作是不可逆的,除非您开启了版本控制功能。删除需谨慎,所以我们分多步存储文件处理,不是直接删除。
