我们正在修剪目录以恢复一些磁盘空间。
修剪/备份过程的“算法”由一个目录列表组成,每个目录都有一组规则,例如“压缩 *.bin”、“移动 *.blah”、“删除 *.crap”、“保留 *.important”;这些规则因目录而异,但都是众所周知的。压缩和移动的文件存储在临时文件系统中,刻录到蓝光光盘上,在蓝光光盘内进行测试,最后从原始位置删除。
我在 Python 中执行此操作(基本上是一个walk
带有字典的语句,其中包含每个文件夹中每个扩展的规则)。
您是否推荐一种更好的文件系统修剪方法?您是如何做到的?
我们在 Linux 上运行。
答案1
我有一个系统,用于从备份 tarball 的一个分区中删除过期的备份。每个主机都有自己的目录。在每个目录中,我都会定义一个文件(例如00info
),我的修剪器会读取该文件并针对该文件运行查找。它遇到的问题是,进入目录的备份与文件中的模式不匹配。它主要使用 bin/find,例如
foreach pat in $patterns; do find . -type f -name "$pat" -mtime +7 | xargs rm -f ; done
这不是很好,但很简单。我发现,如果它很容易维护,你就会有时间在日常压力下真正地维护它。
如果你用 Python 编程,Bash 脚本无法与你的能力相比。因此,我建议的重要一点是:不要因为拥有别人没有使用的东西而感到内疚:你已经创建了一个适合你的解决方案你的要求,你说得再正确不过了。
但是,你的脚本是否没有解决实际问题?维护规则集是否变得困难?