gue*_*est 3 linux backup centos rm
我想删除超过 7 天的备份,但保留每月第一天的备份。
文件的名称是:name_$(date +\%d\%m\%Y).tar.gz
我想保留:name_$(date +\01\%m\%Y).tar.gz
我想要这样的东西:
find /path -mtime +8 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
我可以融入哪里name_$(date +\01\%m\%Y).tar.gz?
也许使用--exclude name_$(date +\01\%m\%Y).tar.gz
我正在寻找单行命令。
不需要子目录。
用 echo 尝试了一下,效果不好,但显示了 01 的一些内容。
只是--exclude不起作用:command not found
这在 Debian/Ubuntu 下适用于我(并且应该在大多数情况下适用):
\n\n例如,如果您有以下格式的文件:
\n\nmybackup_ 12-01-2015 .tar.gz
\n\n $ find ./* -name 'mybackup_??-01-*' -prune -o -mtime +7 -exec ls {} \\;\nRun Code Online (Sandbox Code Playgroud)\n\n命令:
\n\nls以显示剩下的内容。\n\n\n如果您想在测试命令后删除它们,只需替换
\nls为rm.
当您对命令感到满意时,它也可以很好地用作 cron 任务/作业。我让它每几个月执行一次我的脚本。(我的脚本使用+90天的mtime来清理mysql备份)
\n| 归档时间: |
|
| 查看次数: |
11542 次 |
| 最近记录: |