Использование cronjob для очистки / tmp

10

Можно ли использовать скрипт bash и cronjob для автоматического удаления /tmp или я должен делать это по-другому?

    
задан Jochem Kuijpers 07.03.2014 в 21:38
источник

2 ответа

12

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

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

Я рекомендую использовать tmpreaper для этого.

Вы можете установить его с помощью sudo apt-get install tmpreaper .

На странице man:

  

tmpreaper рекурсивно ищет и удаляет файлы и пустые каталоги, к которым не было доступа за заданное количество секунд. Обычно он используется для очистки каталогов, которые используются для временного пространства для хранения, например «/ tmp». Пожалуйста, прочитайте раздел ПРЕДУПРЕЖДЕНИЙ этого руководства.

Обычно использование включает вызов tmpreaper в /tmp с аргументом spec времени. Аргумент spec времени может быть любым из d за дни, h за часы, m за минуты или s за секунды.

Пожалуйста, используйте --test для сухого запуска и получите результат результатов, прежде чем выполнять команду. Это даст вам представление о том, что будет удалено до того, как вы действительно внесете какие-либо изменения в файловую систему.

    
ответ дан Bruno Pereira 07.03.2014 в 21:48
источник
2

Попробуйте добавить cronjob, который выполняет

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 

Это приведет к удалению всех файлов старше 5 дней.

    
ответ дан turbophi 28.12.2016 в 09:58