0x01
微信聊天记录中产生的文件,图片以及音视频都会缓存在本地磁盘,长时间不清理,就会占用很大存储空间。
虽然微信 mac 端版本有一个清理空间的功能,可以单独直接删除与某一个人或群的所有聊天文件,但是是直接删除,没得选择和备份的机会。
这个事情就很尴尬了。网上搜了一圈也没找到比较好的清理归档方案。大多是教你怎么清理掉释放空间,没什么意义。
0x02
清理比较简单,更想要的是能够归档备份,因为有些聊天文件,会比较重要或者后面真的会有需要。聊天的文字倒不会占用多大空间,主要是缓存的各种文件。
如果只是把本地微信缓存目录直接同步到某个同步盘或者 nas 之类的,也不能很好地归档管理。
这里简单介绍一个方案吧。
写一个简单的 shell 脚本,根据文件时间筛选需要归档的比较老的文件。
Mac 微信聊天文件目录是:~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support/com.tencent.xinWeChat/2.0b4.0.9
然后下面,在电脑上登录过的微信账户,都会生成一个 id 目录,例如:
fc4cea7edb2dde38c6ba91c9f1a5f288
。
该目录下 Message/MessageTemp
里的就是各聊天单位所产生的聊天文件。
就在这个目录下搜索筛选:
find ./ -mtime "+$clean_days"
这个命令就能筛选出超过 clean_days 天的文件,可以将这些文件归档到 nas 或者其他存储盘。
find ./ -mtime "+$clean_days" -exec sh -c '
mkdir -p "$0/${1%/*}"
mv -v "$1" "$0/$1"
' "$backupDir" {} \;
这里就是将筛选出的文件同步到备份盘,同时会创建好文件的层级目录。这里层级目录的创建也很关键,便于后面恢复查询这些文件。
backupDir
备份目录,我这简单利用 afp,挂载了 nas 上的一个共享文件夹。
相关知识,了解下 https://support.apple.com/zh-cn/HT202181。
这里贴一个挂载命令供参考:
mount_afp afp://username:password@host:port/volume backupDir
这样就可以做清楚删选归档还有备份恢复了。
看下效果:
可以按自己需要的时间段或者其他筛选条件归档。
0x03
用 rsync 之类的远程同步也可以,但是可能相对不是很灵活。不过后续也可以进一步研究完善一下。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于