235 votes

Quand est-ce que /tmp est effacé ?

J'ai l'habitude de mettre divers fichiers dans /tmp et je me demandais quelles étaient les règles pour les supprimer ?

J'imagine que c'est différent pour les différentes distributions, et je suis particulièrement intéressé par les versions de bureau d'Ubuntu et de Fedora.

Mais un bon moyen général de le découvrir serait une excellente chose.

Un moyen général de le contrôler serait encore mieux ! (quelque chose comme 'tous les jours à 3 heures du matin, supprimez tout /tmp les fichiers de plus de 60 jours, mais n'effacent pas le répertoire au redémarrage')

228voto

afarazit Points 145

Cela dépend de votre distribution. Sur certains systèmes, il n'est supprimé qu'au démarrage, d'autres ont des cronjobs en cours d'exécution qui suppriment les éléments antérieurs à n heures.

  • Sur Ubuntu 14 : en utilisant tmpreaper qui est appelé par /etc/cron.daily configuré via /etc/default/rcS y /etc/tmpreaper.conf . ( Crédits pour cette réponse ).
  • Sur Ubuntu 16 : en utilisant tmpfiles.d . ( Crédits pour cette réponse ).
  • Sur les autres systÃ?mes similaires à Debian : au démarrage (les rÃ?gles sont définies dans la section /etc/default/rcS ).
  • Sur les systèmes de type RedHat : selon l'âge (RHEL6, c'était /etc/cron.daily/tmpwatch ; RHEL7/RHEL8 et RedHat-like avec systemd c'est configuré dans /usr/lib/tmpfiles.d/tmp.conf appelé par systemd-tmpfiles-clean.service ).
  • Sur Gentoo /etc/conf.d/bootmisc .

30voto

cjc Points 24265

Sous CentOS (et je suppose Fedora), il y a un travail dans /etc/cron.daily appelé tmpwatch . Cela fonctionne /usr/sbin/tmpwatch qui supprimera les fichiers qui n'ont pas été consultés pendant le nombre d'heures spécifié, c'est-à-dire que le comportement par défaut est d'examiner le fichier atime pour le fichier afin d'évaluer s'il a été utilisé récemment.

http://linux.die.net/man/8/tmpwatch

D'autres distributions (et installations) peuvent avoir /tmp monté sous tmpfs, qui est un système de fichiers en mémoire. Il sera effacé au démarrage.

16voto

icyrock.com Points 1180

Sur Ubuntu 11.10 que j'utilise, il y a une démarrage script en /etc/init/mounted-tmp.conf . Le début de l'article dit ceci :

# mounted-tmp - Clean /tmp directory
#
# Cleans up the /tmp directory when it does not exist as a temporary
# filesystem.

description "Clean /tmp directory"

start on (mounted MOUNTPOINT=/tmp) or (mounted MOUNTPOINT=/usr)

Vous pouvez lire plus en détail, cependant en général /tmp est nettoyé lorsqu'il est soit monté soit /usr est monté. Cela se produit régulièrement au démarrage, donc cette /tmp Le nettoyage s'effectue à chaque démarrage.

En /etc/default/rcS vous avez TMPTIME qui est utilisé dans le script d'init ci-dessus pour alimenter les deux find à sa fin - en fait, il s'agit de contrôler la suppression des fichiers en fonction de leur temps (modifié, changé, accédé).

8voto

A partir de Fedora 18, /tmp est monté sur tmpfs (c'est-à-dire la RAM) par défaut, et donc effacée à la mise hors tension.

Ce comportement peut être désactivé en émettant systemctl mask tmp.mount et redémarrer (et réactivé par la commande systemctl unmask tmp.mount et redémarrer), puis /tmp sera monté sur le / et peut être contrôlé par /usr/lib/tmpfiles.d/tmp.conf paramètres.

Voir http://fedoraproject.org/wiki/Features/tmp-on-tmpfs y man tmpfiles.d pour plus de détails sur chaque cas.

6voto

johnjamesmiller Points 251

Sur RHEL 6.2, les fichiers de /tmp sont supprimés par tmpwatch s'ils n'ont pas été consultés depuis 10 jours.

Le fichier /etc/cron.daily/tmpwatch définit la façon dont tmpwatch est appelé.

#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
    -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
    -X '/tmp/hsperfdata_*' 10d /tmp

Les arguments -x sont des fichiers à exclure. L'avant-dernier argument est le temps à attendre après le dernier accès. Le dernier argument est le répertoire à examiner.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X