作者:手机用户2602926791 | 来源:互联网 | 2023-02-01 20:47
我有/home/backup/
存储年度备份的目录.在备份文件夹中,我们有以下目录:
/home/backup/2012
/home/backup/2013
/home/backup/2014
/home/backup/2015
/home/backup/2016
/home/backup/2017
每年我都要清理数据,只保留最后三年的备份.
在上面的例子中,我必须删除:
/home/backup/2012
/home/backup/2013
/home/backup/2014
找到要删除的目录的最佳方法是什么?我有这个,但它不起作用:
find /home/ecentrix/recording/ -maxdepth 1 -mindepth 1 -type d -ctime +1095 -exec rm -rf {} \;
你们有另一个想法吗?
1> bishop..:
由于您的目录具有明确定义的整数名称,因此我只使用bash来计算适当的目标:
mkdir -p backup/201{2..7} # just for testing
cd backup
rm -fr $(seq 2012 $(( $(date +"%Y") - 3)))
seq
生成从2012年到当前年份减去3的数字列表,然后传递给rm
它们.