GNU/Linux >> Tutoriels Linux >  >> Cent OS

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

Dans CentOS/RHEL 7, tmpfiles nettoie /tmp ou /var/tmp en supprimant les fichiers inutilisés. Cette fonction s'appelait "tmpwatch " dans CentOS/RHEL 6 qui est invoqué par crond, cependant, il est maintenant réalisé par la minuterie de systemd sur CentOS/RHEL 7.

Actuellement, les fonctions détaillées des fichiers tmp sont décrites dans les fichiers de configuration :

/usr/lib/systemd/system/systemd-tmpfiles-clean.timer
/usr/lib/systemd/system/systemd-tmpfiles-clean.service
/usr/lib/tmpfiles.d/tmp.conf

En bref, les fonctions disponibles sont :

  • suppression de fichiers/répertoires dans /tmp non consulté plus de 10 jours (défini dans tmp.conf )
  • suppression de fichiers/répertoires dans /var/tmp non consulté plus de 30 jours (défini dans tmp.conf )
  • il y a plusieurs fichiers qui ne seront pas supprimés (définis dans tmp.conf)
  • la commande de suppression est "/usr/bin/systemd-tmpfiles –clean "(défini dans systemd-tmpfiles-clean.service )

"inaccessible ” est décidé en cochant tout atime /heure /ctime du fichier/répertoire. Ainsi, dans le cas où même l'un des atime/mtime/ctime d'un fichier dans /tmp/ est plus récent que 10 jours, le fichier ne sera pas supprimé. Si un fichier/répertoire dans /tmp/ n'est pas supprimé par tmpfiles même s'il semble qu'il date de plus de 10 jours, la raison peut être vérifiée en exécutant manuellement une commande avec les options de débogage comme ci-dessous :

# SYSTEMD_LOG_TARGET=console SYSTEMD_LOG_LEVEL=debug /usr/bin/systemd-tmpfiles --clean

Par exemple, ci-dessous signifie qu'un répertoire "/tmp/latest" ne peut pas être supprimé en raison de son atime.

# SYSTEMD_LOG_TARGET=console SYSTEMD_LOG_LEVEL=debug /usr/bin/systemd-tmpfiles --clean 2>&1 | grep latest
Directory "/tmp/latest": access time Wed 2017-12-06 16:56:28.771577 IST is too new

Exemples de fichiers de configuration

Vous trouverez ci-dessous les 3 exemples de fichiers de configuration (non modifiés) avec leurs paramètres par défaut.

# cat /usr/lib/systemd/system/systemd-tmpfiles-clean.timer
[Unit]
Description=Daily Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)

[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
# cat /usr/lib/tmpfiles.d/tmp.conf
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

# Exclude namespace mountpoints created with PrivateTmp=yes
x /tmp/systemd-private-%b-*
X /tmp/systemd-private-%b-*/tmp
x /var/tmp/systemd-private-%b-*
X /var/tmp/systemd-private-%b-*/tmp
# cat /usr/lib/systemd/system/systemd-tmpfiles-clean.service
[Unit]
Description=Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target time-sync.target
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/usr/bin/systemd-tmpfiles --clean
IOSchedulingClass=idle


Cent OS
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Debian – Déplacer /var, /home vers une partition séparée ?

  3. Kubuntu affiche une erreur lors de la connexion (file:///usr/share/sddm//themes/breeze/main.qml:no Such File Or Directory) ?

  4. Comment les fichiers/répertoires dans /tmp sont supprimés automatiquement dans CentOS/RHEL 5,6

  5. CentOS / RHEL :Comment faire pivoter les fichiers /var/log/wtmp et /var/log/btmp à l'aide de logrotate

Différence entre /var/log/messages, /var/log/syslog et /var/log/kern.log ?

CentOS/RHEL :le point de montage /tmp ne se monte pas automatiquement lorsqu'il est ajouté dans /etc/fstab

UNIX / Linux :Quelle est la bonne permission des répertoires /tmp et /var/tmp

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

unix:///var/run/supervisor.sock aucun fichier de ce type

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