Ich möchte verschiedene Dateien /tmp
einfügen und habe mich über die Regeln zum Löschen von Dateien gewundert.
Ich stelle mir vor, dass es für verschiedene Distributionen unterschiedlich ist, und ich interessiere mich besonders für Ubuntu- und Fedora-Desktopversionen.
Aber ein guter allgemeiner Weg, das herauszufinden, wäre eine großartige Sache.
Noch besser wäre eine gute allgemeine Möglichkeit, dies zu kontrollieren! (So etwas wie "Jeden Tag um 3 Uhr morgens alle /tmp
Dateien löschen , die älter als 60 Tage sind, aber das Verzeichnis beim Neustart nicht löschen")
Antworten:
Das hängt von Ihrer Distribution ab. Auf einigen Systemen wird es nur beim Booten gelöscht, auf anderen werden Cronjobs ausgeführt, bei denen Elemente gelöscht werden, die älter als n Stunden sind.
/etc/default/rcS
)./etc/cron.daily/tmpwatch
; RHEL7 und RedHat-ähnlich mit systemd ist es konfiguriert/usr/lib/tmpfiles.d/tmp.conf
, aufgerufen vonsystemd-tmpfiles-clean.service
)./etc/conf.d/bootmisc
.quelle
systemd-tmpfiles-clean.service
.tmpreaper
Versionen können Sie das Paket in Betracht ziehen , dessen gespaltene Versiontmpwatch
.cat: /etc/default/rcS: No such file or directory
Auf CentOS (und ich nehme an Fedora) gibt es einen Job in /etc/cron.daily, der aufgerufen wird
tmpwatch
. Dies wird ausgeführt/usr/sbin/tmpwatch
, wodurch Dateien gelöscht werden, auf die in der angegebenen Anzahl von Stunden nicht zugegriffen wurde. Das heißt, das Standardverhalten besteht darin, zu überprüfenatime
, ob die Datei kürzlich verwendet wurde.http://linux.die.net/man/8/tmpwatch
Andere Distributionen (und Installationen) haben möglicherweise / tmp als tmpfs gemountet, was ein speicherinternes Dateisystem ist. Dies wird beim Booten gelöscht.
quelle
yum install tmpwatch
sudo find /tmp -type f -atime +10 -delete
tmp-Dateien, auf die seit 10 Tagen nicht mehr zugegriffen wurde, werden mit Sorgfalt gelöschtUnter Ubuntu 11.10, das ich verwende, gibt es ein Upstart- Skript
/etc/init/mounted-tmp.conf
. Am Anfang steht:Sie können mehr Details lesen, aber im Allgemeinen
/tmp
wird es gereinigt, wenn es entweder montiert oder/usr
montiert ist. Dies geschieht regelmäßig beim Booten, sodass diese/tmp
Reinigung bei jedem Booten ausgeführt wird.In haben
/etc/default/rcS
SieTMPTIME
festgelegt, welches im obigen Init-Skript verwendet wird, um die beidenfind
Befehle an ihrem Ende zu speisen - im Grunde wird das Löschen von Dateien basierend auf ihren Zeiten gesteuert (modifiziert, geändert, zugegriffen).quelle
Unter RHEL 6.2 werden die Dateien in / tmp von tmpwatch gelöscht, wenn innerhalb von 10 Tagen nicht mehr auf sie zugegriffen wurde.
Die Datei /etc/cron.daily/tmpwatch definiert, wie tmpwatch aufgerufen wird.
Die Argumente -x sind Dateien, die ausgeschlossen werden sollen. Das vorletzte Argument ist die Wartezeit nach der letzten Zugriffszeit. Das letzte Argument ist das zu untersuchende Verzeichnis.
quelle
Ab Fedora 18
/tmp
ist estmpfs
standardmäßig aktiviert (dh RAM) und wird daher beim Ausschalten gelöscht.Dieses Verhalten kann durch Ausstellen
systemctl mask tmp.mount
und Neustarten deaktiviert werden (und durch Ausstellensystemctl unmask tmp.mount
und Neustarten wieder aktiviert werden ). Anschließend/tmp
wird es auf dem/
Dateisystem bereitgestellt und kann durch/usr/lib/tmpfiles.d/tmp.conf
Einstellungen gesteuert werden .Siehe http://fedoraproject.org/wiki/Features/tmp-on-tmpfs und
man tmpfiles.d
für weitere Details zu den einzelnen Fall.quelle
Unter openSUSE 13.2 konnte das Löschverhalten mit der folgenden Variablen in sysconfig gesteuert werden.
MAX_DAYS_IN_TMP
MAX_DAYS_IN_LONG_TMP
TMP_DIRS_TO_CLEAR
LONG_TMP_DIRS_TO_CLEAR
OWNER_TO_KEEP_IN_TMP
CLEAR_TMP_DIRS_AT_BOOTUP
Sie können diese Variablen ändern, indem Sie (die Verwendung jeder Variablen finden Sie auch dort)
/etc/sysconfig/cron
Datei manuell in der Befehlszeile.quelle
Sorta-Tempy-Dateien, die beim Booten nicht gelöscht werden sollen, werden in / var / tmp abgelegt
Dafür ist es da :-)
quelle