rizhas@rizhas-laptop:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 67G 58G 5,2G 92% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 1,5G 12K 1,5G 1% /dev
tmpfs 303M 1,2M 302M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 1,5G 348K 1,5G 1% /run/shm
none 100M 80K 100M 1% /run/user
overflow 1,0M 1,0M 0 100% /tmp
overflow 1,0M 1,0M 0 100% /tmp
Wie wird aufgeräumt /tmp
?
Antworten:
/ tmp soll beim Neustart bereinigt werden, aber wenn Sie nicht neu starten (was für Server normal ist), wird die Bereinigung nicht durchgeführt
find /tmp -ctime +10 -exec rm -rf {} +
löscht alle Dateien und Ordner, die älter als 10 Tage sind. Vielleicht möchten Sie es dem täglichen cron hinzufügen.
AKTUALISIEREN
In den Kommentaren unten empfiehlt @sfussenegger ein etwas anderes Format dieses Befehls, das möglicherweise besser zu Ihren Anforderungen und zu dem System passt, auf dem Sie arbeiten.
sudo find /tmp -type f -atime +10 -delete
Hier wird der Befehl verwendet
sudo
, um sicherzustellen, dass alles gelöscht wird (oder Sie können ihn als Root ausführen). Dabei werden Dateien bearbeitet, auf die seit mehr als 10 Tagen kein Zugriff mehr erfolgt ist, und nur Dateien, nicht Ordner, gelöscht . Es verwendet auch-delete
auszuführen, um zu vermeidenrm
Befehlquelle
-type f
). Andernfalls stellen Sie möglicherweise fest, dass auf das übergeordnete Element eines Verzeichnisbaums seit einiger Zeit nicht mehr zugegriffen wurde, und löschen den gesamten Inhalt, der möglicherweise noch verwendet wird. Das letzte Kommando, das ich empfehlen würde, istsudo find /tmp -type f -atime +10 -delete
Sie können davon ausgehen, dass alles in einem tmp-Verzeichnis (/ tmp / / usr / tmp usw.) gelöscht werden kann. BEVOR Sie mit dem Löschen beginnen, stoppen Sie alle Programme und Dienste, die Sie verwenden, da / tmp / von Programmen zum temporären Speichern von Informationen für diese Sitzung verwendet werden kann. Also mach ein
sudo service mysql stop
undsudo service apache2 stop
wenn du einen MySQL und / oder Apache hast. Der Name der Dateien im Verzeichnis / tmp / gibt meistens einen Hinweis darauf, zu welchem Programm sie gehören.Also von der Kommandozeile ...
Leert das Verzeichnis / tmp / und entfernt alle Dateien und Unterverzeichnisse. Achten Sie darauf, es richtig einzugeben. Der dortige Befehl
pwd
ist nicht erforderlich, sollte aber angezeigt werden/tmp
.Wenn Sie es interaktiv möchten (so müssen Sie das Löschen bestätigen):
Erwähnenswert ist auch, dass ein Neustart / tmp löscht, wie hier gezeigt: Wie wird das Verzeichnis / tmp bereinigt? Wenn / tmp / also nach einem Neustart voller Dateien ist, müssen Sie untersuchen, woher diese Dateien stammen.
Ich möchte auch feststellen, dass 1 MB für / tmp nicht viel Platz ist. Verwenden Sie MySQL? Informationen zur Fehlerbehebung finden Sie unter https://unix.stackexchange.com/a/76058/10017 (danke @drc).
quelle
who –b
Wenn Sie also ein (Datum des letzten Starts) und anschließend eine Datei / Startzeit zum Zeitpunkt des Startens (touch ....... /boottime
) erstellen , können Sie sicher gehenfind /tmp -type f \( ! -newer /boottime \) -delete \;
, dass nur Dateien gelöscht werden, die älter sind als der letzte Startmktemp
meine Skripte regelmäßig verwendet, bin ich mit der Aussage "ohne Schaden" nicht einverstanden./tmp
etwas älter als der letzte Neustart ist, haben die Startskripte ihre Arbeit nicht erledigt.Das
tmpreaper
Programm kann verwendet werden, um / tmp regelmäßig zu bereinigen . Dieses Programm löscht alle Daten, auf die in einem bestimmten Zeitraum (normalerweise zwei Wochen) nicht zugegriffen wurde. Damit dies ordnungsgemäß funktioniert, sollte auf dem Dateisystem, auf dem es sich befindet, dieatimes
Option aktiviert sein. Wenn Sie ein tmpfs verwenden , wie es scheint, sollten Sie in Ordnung sein.Natürlich löscht ein Neustart auch / tmp , aber das wäre langweilig.
quelle
Das Verzeichnis
/tmp
bedeutet temporär.In diesem Verzeichnis werden temporäre Daten gespeichert. Sie müssen nichts löschen, die darin enthaltenen Daten werden nach jedem Neustart automatisch gelöscht.
Wenn Sie dennoch die darin enthaltenen Daten löschen möchten, verwenden Sie
sudo rm -r /tmp/*
Das Löschen ist problemlos möglich, da es sich um temporäre Dateien handelt.
quelle
Seien Sie vorsichtig, bevor Sie einen Befehl wie ausführen
rm -r ./*
. Sobald Sie es ausgeführt haben, ist es sehr schwierig oder unmöglich, Daten wiederherzustellen.Alles wird entfernt. Stellen Sie sicher, dass das Verzeichnis, in dem Sie löschen, richtig ist.
Es gibt eine sicherere Möglichkeit, mit Dingen umzugehen.
Wenn Sie diesen Befehl versehentlich in Ihrer Shell ausführen
history
, werden die falschen Dateien nicht gelöscht (es sei denn, Sie behalten sie bei/tmp
).quelle
Das
/tmp
Verzeichnis wurde standardmäßig bei jedem Start gelöscht, daTMPTIME
ist0
standardmäßig aktiviert .quelle
Wenn Ihr "/ tmp" -Mount auf einem Linux-Dateisystem als Überlauf gemountet ist (häufig mit einer Größe von 1 MB), liegt dies wahrscheinlich daran, dass Sie "/ tmp" nicht als eigene Partition angegeben haben und Ihr Root-Dateisystem gefüllt und "/ tmp" war als Fallback wieder montiert. Um dies zu beheben, nachdem Sie Speicherplatz freigegeben haben, heben Sie einfach die Bereitstellung des Fallbacks auf und es sollte an seinem ursprünglichen Punkt erneut bereitgestellt werden:
wenn das Gerät ausgelastet ist
quelle