gpt4 book ai didi

linux - 压缩和删除具有特定年龄的文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:12 25 4
gpt4 key购买 nike

我正在尝试详细说明一个命令,该命令将查找超过 6 个月未修改的文件并使用一个命令将它们压缩。之后我想删除所有这些文件,我只是存档。

我当前查找包含文件的目录的命令是

find /var/www -type d -mtime -400 ! -mtime -180 | xargs ls -l > testd.txt

这给了我所有目录,包括超过 6 个月的文件现在我想知道是否有一种方法可以压缩所有结果并在之后删除它们。行间的东西

find /var/www -type f -mtime -400 ! -mtime -180 | gzip -c archive.gz

如果有人知道实现此目的的正确语法,我很想知道。谢谢!

编辑,经过几次测试后,此命令导致文件损坏

find /var/www -mtime -900 ! -mtime -180 | xargs tar -cf test4.tar

有什么想法吗?

最佳答案

将其分成几个不同的步骤,您可以分别实现和彻底测试:

  1. 构建要归档然后删除的文件列表,保存到临时文件
  2. 使用步骤 1 中的列表将文件添加到 .tar.gz 存档。按照不会出现在要归档的文件中的特定模式为归档文件命名,并将其放在要归档的文件层次结构之外的目录中。
  3. 从 .tar.gz 中读回文件并将它们(或它们的哈希值)与原始文件进行比较,以确保您得到它们时没有损坏
  4. 使用步骤 1 中的列表删除文件。不要使用通配符进行删除。放入一些保护代码以防止删除与第 2 步中创建的存档 .tar.gz 文件的名称模式匹配的任何文件。

当测试一个可以造成不可逆转的损害的脚本时,总是用一个前导的 echo 对危险的命令进行编码,并保持这种状态,直到您确定一切正常为止。然后才删除 echo

关于linux - 压缩和删除具有特定年龄的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19302220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com