2015-10-06 2 views
0

Я реализую свой собственный сервер кеша файлов с помощью платформы Play, и я помещал свои файлы в кеш в каталог /tmp.Автоматическая очистка каталога tmp в Unix

Однако я не знаю, как ОС управляет каталогом /tmp. Я хочу знать, будет ли ОС автоматически очищать некоторые файлы, которые достаточно стары или недостаточно долго доступны.

Я запускаю свой сервер в контейнере Docker на основе Debian jessie.

+0

Не то, чтобы это имело значение для вашего вопроса, но является ли '/ tmp' установленным из ОС хоста или внутри контейнера Docker? – Thilo

+0

Я устанавливаю его внутри контейнера Docker. Я думаю, было бы интересно установить том с ОС хоста, а другой контейнер сделать очистку. – Khanetor

ответ

0

Ваша ОС не будет очищена /tmp. Некоторые Unix-варианты очищают его при перезагрузке. Вам нужно будет сделать это самостоятельно.

find /tmp/yourpath -mtime +30 -type f -exec rm {} \; 

например.

Но Docker - это немного особый случай, поскольку контейнеры представляют собой слой инкапсуляции. То, что find по-прежнему будет делать трюк, но вы, вероятно, можете просто сбросить и перезапустить контейнер «свежий» и удалить старый.

+0

Я не знаком с командой, которую вы указали выше. Очищает ли он каталог/tmp каждые 30 минут? – Khanetor

+0

Nope. Прочтите страницу руководства на 'find'. Он удаляет файлы старше 30 дней. И работает один раз. Вы можете добавить его в 'cron' для запуска более регулярно. – Sobrique

+0

Я буду возиться с этим решением, спасибо Sobrique! :) – Khanetor

Смежные вопросы