Автор Тема: Удаление файлов в папке, если размер папки превышает заданный размер  (Прочитано 3463 раз)

Оффлайн romario

  • Участник
  • *
  • Сообщений: 621
    • ЮНИКС
Собственно появилась задача:
Есть папка /sound/root

мы планируем что размер папки будет не более 300 мегабайтов, нужно чтобы скрипт определял размер папки, затем если размер больше чем заданно, скрипт должен очищать самые старые файлы до тех порт пока размер папки не будет не более 300 мегабатов.

Подскажитt что можно использовать.
« Последнее редактирование: 01.10.2014 10:21:24 от sb »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 189
    • Домашняя страница
Собственно появилась задача:
Есть папка /sound/root

мы планируем что размер папки будет не более 300 мегабайтов, нужно чтобы скрипт определял размер папки, затем если размер больше чем заданно, скрипт должен очищать самые старые файлы до тех порт пока размер папки не будет не более 300 мегабатов.

Подскажитt что можно использовать.
while [ $(du -sm|cut -f1) -gt 300 ]; do rm -f "$(ls -1c . | tail -n1)";done
Примечание: скрипт работает с файлами в текущем каталоге. Если там есть подкаталоги, то rm надо вызывать с -rf
Андрей Черепанов (cas@)

Оффлайн romario

  • Участник
  • *
  • Сообщений: 621
    • ЮНИКС