GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come systemd-tmpfiles pulisce /tmp/ o /var/tmp (sostituzione di tmpwatch) in CentOS/RHEL 7

In CentOS/RHEL 7, tmpfiles pulisce /tmp o /var/tmp rimuovendo i file inutilizzati. Questa funzione è stata chiamata "tmpwatch ” in CentOS/RHEL 6 che viene invocato da crond, tuttavia, ora è realizzato dal timer di systemd su CentOS/RHEL 7.

Attualmente le funzioni dettagliate di tmpfiles sono descritte nei file di configurazione:

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

In breve, le funzioni disponibili sono:

  • rimuovere file/directory in /tmp non accessibile per più di 10 giorni (definito in tmp.conf )
  • rimuovere file/directory in /var/tmp non accessibile per più di 30 giorni (definito in tmp.conf )
  • ci sono diversi file che non verranno rimossi (definiti in tmp.conf)
  • il comando di rimozione è "/usr/bin/systemd-tmpfiles –clean “(definito in systemd-tmpfiles-clean.service )

"non accessibile ” viene deciso selezionando tutto atime /l'ora /ora del file/directory. Pertanto, nel caso in cui anche uno di atime/mtime/ctime di un file in /tmp/ sia più recente di 10 giorni, il file non verrà rimosso. Se un file/directory in /tmp/ non viene rimosso da tmpfiles anche se sembra essere più vecchio di 10 giorni, il motivo può essere verificato eseguendo manualmente un comando con opzioni di debug come di seguito:

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

Ad esempio, di seguito si intende che una directory "/tmp/latest" non può essere rimossa a causa del suo tempo.

# 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

File di configurazione di esempio

Di seguito sono riportati i 3 file di configurazione di esempio (non modificati) con le loro impostazioni predefinite.

# 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. Bash =~ Regex e HTTPS://regex101.com/?

  2. Kubuntu mostra un errore all'accesso (file:///usr/share/sddm//themes/breeze/main.qml:no Such File Or Directory)?

  3. Come vengono rimossi automaticamente file/directory in /tmp in CentOS/RHEL 5,6

  4. CentOS / RHEL:come ruotare i file /var/log/wtmp e /var/log/btmp usando logrotate

  5. Django static_root in /var/www/... - nessuna autorizzazione a collectstatic

CentOS/RHEL:il punto di montaggio /tmp non si monta automaticamente quando viene aggiunto in /etc/fstab

UNIX / Linux :Qual è il permesso corretto delle directory /tmp e /var/tmp

Come disabilitare l'eliminazione automatica dei file nelle directory /tmp e /var/tmp in CentOS / RHEL 5,6

Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?