Нужно просто из папкок выбрать самое маленькое число или смотреть по дате модификации объектов в папке? Я писал подобное на bash это в общем-то не сложно.
Если в папке /var/backup/site/ находятся только папки с годами и удалять нужно именно по названию папки, а не по дате модификации, то вполне подойдёт такой вариант rm -rf $(ls /var/backup/site | head -1)
Если боитесь сразу выполнять, попробуйте что выдаст Вам команда ls /var/backup/site | head -1
Что она выдаст, то и будет удалено. Но будьте аккуратны с написанием скриптов автоматически удаляющих бэкапы, с логикой прогадаете и все бэкапы удалены)
Я писал скрипт который удаляет ежедневно самый старый бэкап перед тем как создаётся новый, но если в Вашем случае вы удаляете целиком год, то не проще ли ручками удалить. Раз в год можно и замараться) Другое дело если это процесс ежедневный как в случае в котором привёл я)
да не, все со скриптами все ном, да и на бэкап сервере 50 тб
так что место есть.
Это просто скрипт для автоматической попытки исправить положение системой мониторинга.
Если честно сроки горят, сегодня все сдавать.
Так что такие односложные вещи закинул на тостер.
Поскольку на них можно найти сразу ответ.
Виктор Таран, я всего лишь напомню что в скрипте нужно поставить защиту от зацикливания, чтобы если он удалил папку и с какого-то хрена простите за выражение он снова получил что места больше 90% занято.... ну ты понял, чтобы он не на удалял всё. Нужно учитывать такие моменты, чтобы потом не встревать)
Виктор Таран, кстати я скажу в чём Ваша проблема, вы grep ищете все папки /var/backup, а что если со временем примонтируют туда ещё папку /var/backup/new или /mnt/var/backup тогда скрипт слажает, а вот чем это обернётся будет зависить от продуманности кода)
Владимир Муковоз, du -sh -может считать часами и просаживать I-O так что это не совсем удобно,
да и устройства монтируются на всех серверах в едином стандарте , так что никто там ниче не подмонтирует лишнего. А у смертных доступа туда естественно напрочь нет, они бэкапят через веб морду в другое место.