0

好的 - 所以我今天一整天都在尝试看看这是否可能。

就我而言,我有一个缓存文件夹,其中包含 100 万个缓存文件(是的,它无法打开)。因此,对于内务管理,我想删除自 120 天以来未访问过的内容并记录删除的内容。设法用这一行清理了大约 200K 文件:

find thisfolder -name "pattern*" -type f -atime +120 -exec rm -f {} \; -fprint /home/myfolder/logs/deleted_cache.txt 2>&1

但是,我最终得到了一个大约 50MB 的日志文件 (deleted_cache.txt)。这对管家没有任何好处。所以我想把它拉上拉链,希望我们能腾出更多空间。

阅读有关 I/O 重定向、管道和 zip 的信息;并且经过几次尝试,似乎不可能在一条线上完成。bash 脚本是唯一的方法吗?

请赐教。谢谢你。

4

1 回答 1

0

你可以使用这个命令:

find thisfolder -name "pattern*" -type f -atime +120 -delete -printf '%f\n' | gzip > deleted_cache.gz
  • -delete删除文件
  • -printf将文件名打印到标准输出
  • gzip压缩标准输入

注意:我只在 Ubuntu 中测试它。

于 2012-11-26T09:17:58.943 回答