У меня есть давний скрипт более 5 лет, который готовит ежедневную резервную копию баз данных MySQL в каталоге на сервере. Я хочу знать, как автоматически удалять файлы старше 90 дней. Вот мой текущий сценарий:
#!/bin/bash
uname=XXXX
upass=XXX
dbprefix="/home2/XXX/DatabaseBackups"
for db in $(echo -e "show schemas like \"XXXX%\";" | mysql -u $uname -p$upass -N)
do
wget -q -nv -P ${dbprefix} --http-user=${uname} --http-password=${upass} --auth-no-challenge http://localhost:2082/getsqlbackup/${db}.sql.gz
done
попробуйте
find /pathtofiles/ -type f -mtime +90 -name '*.sql.gz' -execdir rm -- '{}' \;
и что-то вроде этого тоже должно работать
find /pathtofiles/ -name '*.sql.gz' -mindepth 1 -mtime +90 -delete