Файлы в / tmp очищаются операционной системой?

у меня есть скрипт, который генерирует файлы журнала, которые я размещаю под /tmp
Я запускаю его на Linux RedHat, Ubuntu, Solaris и AIX.

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

22
задан fixer1234
22.03.2023 7:24 Количество просмотров материала 3292
Распечатать страницу

3 ответа

если ваша ОС не очищает /tmp автоматически, установите tmpreaper или tmpwatch. Их можно установить для того чтобы побежать как cronjobs поэтому чистка автоматическая. Они легко настроены, чтобы следовать вашим предпочтениям для того, что держать, что чистить, и когда, чтобы очистить его.

в debian-подобной системе запустите apt-get install tmpreaper. Файл конфигурации обычно /etc/tmpreaper.conf.

как можно узнать, если один из них уже установлен? Одним из способов является беги locate tmpreaper и locate tmpwatch и посмотреть, что получается. Если они установлены, Вы можете проверить их конфигурационные файлы (под /etc/). В debian-подобных системах нужно вручную изменить значение на /etc/tmpreaper.conf включить tmpreaper запустить под cron.

обычно все файлы в /tmp удаляются при каждой перезагрузке. Следовательно, программы вроде tmpreaper только необходимы на машинах с длинними up-times.

3
отвечен John1024 2023-03-23 15:12

вы можете проверить с df -T и посмотреть, если /tmp устанавливается как отдельная файловая система. Если это не так, существует большая вероятность того, что он не будет очищен автоматически. Например, в моем CentOS 7.1 /tmp является частью корневой файловой системы (/) и содержит старые файлы до последней перезагрузки.

на моем ноутбуке df -T дает мне:

Filesystem           Type        1K-blocks       Used  Available Use% Mounted on
dev                  devtmpfs      1912020          0    1912020   0% /dev
run                  tmpfs         1919840       1008    1918832   1% /run
/dev/mapper/vg0-root ext4        118698260   89524160   23121444  80% /
tmpfs                tmpfs         1919840     168044    1751796   9% /dev/shm
tmpfs                tmpfs         1919840          0    1919840   0% /sys/fs/cgroup
tmpfs                tmpfs         4194304        168    4194136   1% /tmp
/dev/sda1            ext4            95054      59743      28143  68% /boot
tmpfs                tmpfs          383968        104     383864   1% /run/user/1000

все tmpfs находятся в оперативной памяти и очищаются при перезагрузке.

If /tmp не установлено отдельно, вы можно добавить /etc/fstab запись:

tmpfs /tmp tmpfs nodev,nosuid,size=nG 0 0

это создаст файловую систему ОЗУ n концерты в размер. Не забудьте поставить меньшее число, чем объем доступной памяти.


в качестве альтернативы user3163621 ' s, Вы можете просто поставить crontab запись, как этот:

@reboot rm -rf /tmp/* /tmp/.*

1
отвечен Lasse Halberg Haarbye 2023-03-23 17:29

Linux, ubuntu и Solaris очистят ваш / tmp при перезагрузке. Но не AIX, файл в /tmp останется там.

вы можете настроить cronjob, чтобы сделать это для вас, как root

0 1 * * * Найдите /tmp-atime -14-exec RM {} \;

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

0
отвечен user3163621 2023-03-23 19:46

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх