linux - 删除最旧备份的命令行

标签 linux bash scripting automation backup

我有以下目录和多个 Backup from $(date +"%d.%m.%Y at %H:%M:%S").zip文件。

/opt/
   /opt/files/
      /opt/files/private/*
      /opt/files/backup.sh
      /opt/files/backup.txt
      /opt/files/Backup from $(date +"%d.%m.%Y at %H:%M:%S").zip

使用每日 cronjob 0 0 * * * cd /opt/files/ && ./backup.sh > /opt/files/backup.txt我目前正在管理我的备份。

您可以想象,随着时间的推移,这个目录会变得越来越大。我现在想创建另一个脚本(或者 cronjob,如果它使用一个命令)来删除最旧的 /opt/files/Backup from $(date +"%d.%m.%Y at %H:%M:%S").zip 14 天后(所以我一直有 14 个最近的备份)。

如果你能解释你的答案就太好了。

最佳答案

find /opt/files/Backup -name \*.zip -a -mtime +14 -ls

如果您确信匹配的文件是要删除的文件,请将 -ls 替换为“-exec rm {}\;”

关于linux - 删除最旧备份的命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43962347/

相关文章:

python - Linux 将长格式转换为宽格式

linux - 如何准备一个 Linux 应用程序来查找 ttf 字体目录?

linux - 为什么 shell 逻辑不在 if 条件测试中表现不符合预期

bash - 遍历数组,打印索引和值

linux - bash 中的特殊管道/重定向

c# - IronPython、单击一次、.NET 2.0 错误 - 有什么想法?

linux - 是否有可能阻止任何人从 ELF 二进制文件中剥离调试符号(例如,标签)?

linux - 通过脚本验证 sudoing 密码

bash - bash 中数字的表示和 bash 中十六进制数的 printf

bash - 删除文件末尾的换行符