我有一个文件夹/ var / backup,其中cronjob保存了数据库/文件系统的备份。它包含latest.gz.zip和许多旧的转储,名称为timestamp.gz.zip。 该文件夹越来越大,我想创建一个执行以下操作的bash脚本:
不幸的是,我不是一个好的bash脚本,所以我不知道从哪里开始。谢谢你的帮助。
答案 0 :(得分:2)
在zsh中,你可以使用扩展标志来完成大部分操作:
files=(*(.Om))
rm $files[1,-9]
小心使用此命令,您可以查看与之匹配的内容:
print -rl -- $files[1,-9]
答案 1 :(得分:1)
您应该学会使用find
命令,可能与xargs
一起使用,类似于
find /var/backup -type f -name 'foo' -mtime -20 -delete
或如果您的find
没有-delete
:
find /var/backup -type f -name 'foo' -mtime -20 -print0 | xargs -0 rm -f
当然,你需要改进很多,这只是为了提供想法。