我是bash脚本的新手,我试图编写一个脚本来删除服务器上早于x天数的备份文件。目前,我已将数字设置为7,但可能会改变。该脚本最终将使用crontab执行。它应该满足以下要求。
我尝试使用下面的代码解决以上问题
#!/bin/bash
unset all_backups_count
unset old_backups_count
unset increment_old_backups_count
all_backups_count="$(find -type f | wc -l)"
old_backups_count="$(find -mtime +7 -type f | wc -l)"
increment_old_backups_count=$((old_backups_count + 3))
if [ "$all_backups_count" -ge 3 ] && [ "$increment_old_backups_count" -le "$all_backups_count" ];then
echo "deleting ${old_backups_count} old backup files";
find -mtime +7 -type f -delete;
echo "success";
fi
上面的脚本在一定程度上可以工作,但是,如果备份的天数超过x天数(在这种情况下为7天),它根本无法删除任何备份。最好的情况应该是;