Привет, вы можете использовать команду find
, чтобы сделать это легко, как показано ниже:
find /data/ -mindepth 1 -type f -mtime +2 | xargs rm
В приведенной выше команде find
выполнит поиск всех файлов в каталоге / data и выведет список файлов, которые старше на 2 дня, и по каналу перенаправит их на команду rm
, которая навсегда удалит файлы.
Теперь вам нужно изменить ваш скрипт, как показано ниже: -
SPACE=$(df -P /data |tail -1 |awk '{print $5}' |cut -d '%' -f1)
echo $SPACE
if [ "$SPACE" -gt 75 ]; then
echo "Warning you run out of space,Please delete from server" | mailx -r sender@mail.com -s "server_Data_Usage" receiver@mail.com
find /data/ -mindepth 1 -type f -mtime +2 | xargs rm
else
echo "Enough space " | mailx -r sender@mail.com -s "server_Data_Usage" receiver@mail.com
fi
Надеюсь, это поможет