GNU/Linux >> Tutoriels Linux >  >> Linux

Quand /tmp est-il effacé ?

Solution 1 :

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

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

Solution 2 :

Sur CentOS (et je suppose que Fedora), il y a un travail dans /etc/cron.daily appelé tmpwatch . Cela exécute /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 consiste à examiner le atime pour que le fichier évalue s'il a été utilisé récemment.

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

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

Solution 3 :

Sur Ubuntu 11.10 que j'utilise, il y a un script upstart dans /etc/init/mounted-tmp.conf . Le début 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, mais en général /tmp est nettoyé lorsqu'il est monté ou /usr est monté. Cela se produit régulièrement au démarrage, donc ce /tmp le nettoyage s'exécute à chaque démarrage.

En /etc/default/rcS vous avez TMPTIME set, qui est utilisé dans le script d'initialisation ci-dessus pour alimenter les deux find commandes à sa fin - contrôlant essentiellement la suppression des fichiers en fonction de leur heure (modifié, changé, accédé).

Solution 4 :

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

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

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

Solution 5 :

Sur RHEL 6.2, les fichiers dans /tmp sont supprimés par tmpwatch s'ils n'ont pas été consultés pendant 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 d'attente après le dernier temps d'accès. Le dernier argument est le répertoire à examiner.


Linux
  1. Ubuntu 14.04 "n'a pas obtenu d'Uri de lecture sur le fichier d'entrée:///*" ?

  2. Comment systemd-tmpfiles nettoie /tmp/ ou /var/tmp (remplacement de tmpwatch) dans CentOS / RHEL 7

  3. Comment désactiver la suppression automatique des fichiers dans les répertoires /tmp et /var/tmp dans CentOS / RHEL 5,6

  4. Comment changer /tmp par défaut en /home/user/tmp

  5. Différence et utilisation correcte pour /tmp et /var/tmp

Répertoire Linux tmp :tout ce que vous devez savoir

Bash =~ Regex et Https://regex101.com/?

Déplacer /tmp vers Ram ?

Linux – /sbin/init n'existe pas ?

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

Quand `cron.daily` s'exécute-t-il ?