2.12.9. Автоматичне очищення каталогу

Важливі моменти:

  • Увага! Ні в якому разі не вказуйте шлях без ~/ на початку або у вигляді /*, оскільки це видалить абсолютно всі файли всіх сайтів хостинг-акаунта.
  • Для вимкнення рекурсивності в утиліті rm не вказуйте ключ -r, залиште тільки -f.
  • Для вимкнення рекурсивності при використанні утиліти find відразу після вказання шляху вкажіть ключ -maxdepth 1.

Для автоматичного очищення каталогу можна створити завдання cron з командами для видалення файлів:

  • Видалення всіх файлів і підкаталогів у певному каталозі:
    /bin/rm -rf ~/example.com/www/tmp/*

    Замість example.com/www/tmp/ вкажіть повний шлях до каталогу, вміст якого потрібно видалити.

  • Видалення всіх файлів з певним розширенням в каталозі та всіх його підкаталогах:
    /bin/rm -rf ~/example.com/www/tmp/*.tmp

    Замість .tmp вкажіть потрібне розширення файлів, які потрібно видалити.

  • Видалення всіх файлів старіше певної кількості днів у певному каталозі:
    /bin/find ~/example.com/www/tmp/ -type f -mtime +30 -exec rm -rf {} \;

    Замість 30 вкажіть кількість днів, протягом яких файл повинен зберігатися.

  • Видалення всіх файлів, крім одного:
    /bin/find ~/example.com/www/tmp/ -type f ! -name 'index.php' -delete

    Для видалення всіх файлів, крім файлів з певним розширенням, замість index.php вкажіть *.php. У цьому випадку в каталозі будуть видалені всі файли, крім файлів з розширенням .php.

Зміст