Задать вопрос

Как удалить директорию с названием самого позднего года?

Задача удалять самый старый год, при заполнение бэкап диска более 90%

существующие директории
/var/backup/site/2011
/var/backup/site/2012
/var/backup/site/2013
...

Создаются циклом при бэкапироване
Нужно удалять 2011 год
если ответ 1
test $(df -h |grep "/var/backup" | awk {'print $5'} | sed 's/\%//g') \< 90;

Не интервал времени !!! Поскольку в разные года разные размеры бэкапов.
  • Вопрос задан
  • 703 просмотра
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
castomi
@castomi
Серверный администратор - tickets.settin.ru
Если в папке /var/backup/site/ находятся только папки с годами и удалять нужно именно по названию папки, а не по дате модификации, то вполне подойдёт такой вариант
rm -rf $(ls /var/backup/site | head -1)
Если боитесь сразу выполнять, попробуйте что выдаст Вам команда
ls /var/backup/site | head -1
Что она выдаст, то и будет удалено. Но будьте аккуратны с написанием скриптов автоматически удаляющих бэкапы, с логикой прогадаете и все бэкапы удалены)

Я писал скрипт который удаляет ежедневно самый старый бэкап перед тем как создаётся новый, но если в Вашем случае вы удаляете целиком год, то не проще ли ручками удалить. Раз в год можно и замараться) Другое дело если это процесс ежедневный как в случае в котором привёл я)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы