Ich frage mich, ob Sie wie ich ein Programmierer sind, der seine Computerdateien ordentlich anordnet und nutzlose Dateien rechtzeitig löscht? Wenn ja, dann können wir gerne über den Inhalt des Artikels diskutieren. Wenn nicht, können Sie bleiben und mitmachen (>-<). Als nächstes kommt der heutige Protagonist – tmpwatch, das uns dabei helfen kann, Dateien und leere Verzeichnisse, auf die innerhalb einer bestimmten Zeit nicht zugegriffen wurde, rekursiv zu löschen. Natürlich können wir den Befehl „find“ auch verwenden, um Dateien zu finden und zu löschen, auf die länger als x Tage nicht zugegriffen wurde, aber tmpwatch kann dies in einem Schritt erledigen, also warum nicht? Standardmäßig entscheidet tmpwatch anhand der Zugriffszeit, welche Dateien oder Verzeichnisse gelöscht werden. Darüber hinaus können Sie auch entsprechend der Inode-Änderungszeit und der Änderungszeit arbeiten. Normalerweise wird tmpwatch verwendet, um Dateien im Verzeichnis /tmp sowie andere nicht verwendete Dateien an anderen Orten zu löschen, z. B. alte Protokolldateien. WICHTIGER HINWEIS! ! Führen Sie tmpwatch nicht in / (root) aus! Das /-Verzeichnis enthält wichtige Dateien, die für den Betrieb des Linux-Systems erforderlich sind, und tmpwatch verfügt nicht über einen integrierten Schutzmechanismus, der verhindert, dass es im /-Verzeichnis ausgeführt wird. Sobald diese wichtigen Dateien gelöscht werden, sind die Folgen katastrophal! Daher müssen Freunde bei der Verwendung dieses Befehls vorsichtig sein! Installieren Sie tmpwatch Die Installation von tmpwatch ist in den Standard-Repositorys der meisten Linux-Distributionen verfügbar: Unter Fedora: $ sudo dnf installiere tmpwatch Unter CentOS: $ sudo yum installiere tmpwatch Unter openSUSE: $ sudo zypper installiere tmpwatch Unter Debian und seinen Derivaten (wie Ubuntu) wird tmpwatch auch tmpreaper genannt: $ sudo apt installiere tmpreaper Verwenden Sie tmpwatch/tmpreaper, um Dateien zu löschen, auf die innerhalb einer bestimmten Zeit nicht zugegriffen wurde Die Verwendung von tmpwatch und tmpreaper ist nahezu identisch und sie können als derselbe Befehl betrachtet werden. Der Einfachheit halber wird in diesem Artikel tmpwatch als Beispiel verwendet. Freunde, die Debian-basierte Systeme verwenden, können das folgende tmpwatch in tmpreaper ändern. 1. Dateien löschen, auf die seit mehr als X Tagen nicht zugegriffen wurde <br /> Beispiel: Alle Dateien und leeren Verzeichnisse im Ordner /var/log/ löschen, auf die seit mehr als 10 Tagen nicht zugegriffen wurde tmpwatch 10d /var/log/ 2. Dateien löschen, die seit mehr als X Tagen nicht geändert wurden <br /> Wie oben erwähnt, löscht tmpwatch Dateien standardmäßig basierend auf der Zugriffszeit. Jetzt verwenden wir die Option -m, um Dateien basierend auf der Änderungszeit zu löschen. Beispiel: Löschen Sie Dateien im Ordner /var/log/, die seit mehr als 10 Tagen nicht geändert wurden tmpwatch -m 10d /var/log/ Das d in den beiden obigen Befehlen ist der Zeitparameter wie folgt:
Der Standardzeitparameter ist Stunden. Wenn Sie Dateien löschen möchten, die in den letzten 10 Stunden nicht geändert wurden, können Sie dies in der folgenden Form schreiben: tmpwatch -m 10 /var/log/ 3. Löschen Sie den symbolischen Link Symbolische Links können mit der Option -s entfernt werden: tmpwatch -s 10 /var/log/ 4. Löschen Sie alle Dateien (einschließlich regulärer Dateien, symbolischer Links und Verzeichnisse). tmpwatch kann nicht nur normale Dateien löschen, sondern auch einige spezielle Dateien wie symbolische Links, Verzeichnisse, Pipe-Dateien usw. In diesem Fall müssen Sie die Option -a verwenden: tmpwatch -a 10 /var/log/ 5. Verzeichnisse beim Löschen ausschließen <br /> Wenn Sie ein Verzeichnis nicht löschen möchten, können Sie die Option --nodirs verwenden, um das Verzeichnis vom Löschen auszuschließen: tmpwatch -am 10 --nodirs /var/log/ 6. Testlöschung (ohne tatsächlich etwas zu löschen) Sie können -t verwenden, um in den Testmodus zu wechseln: tmpwatch -t 30 /var/log/ Ausgabe unter CentOS 7: Datei /var/log/wtmp wird gelöscht Verzeichnis /var/log/ppp wird gelöscht, wenn es leer ist Verzeichnis /var/log/tune wird gelöscht, wenn es leer ist Verzeichnis /var/log/anaconda wird gelöscht, wenn es leer ist Datei /var/log/dmesg.old wird gelöscht Datei /var/log/boot.log wird gelöscht Datei /var/log/dnf.librepo.log wird gelöscht Ausgabe auf Debian-basierten Systemen: $ tmpreaper -t 30 /var/log/ (PID 1803) Gibt vor, das Verzeichnis „/var/log/“ zu bereinigen. (PID 1804) Gibt vor, das Verzeichnis „apache2“ zu bereinigen. Vorgeben, die Datei „apache2/error.log“ zu entfernen. Vorgeben, die Datei „apache2/access.log“ zu entfernen. Vorgeben, die Datei „apache2/other_vhosts_access.log“ zu entfernen. (PID 1804) Zurück von der Rekursion nach unten in „apache2“. (PID 1804) Gibt vor, das Verzeichnis „dbconfig-common“ zu bereinigen. Vorgeben, die Datei „dbconfig-common/dbc.log“ zu entfernen. (PID 1804) Zurück von der Rekursion nach unten in „dbconfig-common“. (PID 1804) Gibt vor, das Verzeichnis „dist-upgrade“ zu bereinigen. (PID 1804) Zurück von der Rekursion nach unten zu „dist-upgrade“. (PID 1804) Gibt vor, das Verzeichnis „lxd“ zu bereinigen. (PID 1804) Zurück von der Rekursion nach unten „lxd“. Vorgeben, die Datei „/var/log//cloud-init.log“ zu entfernen. (PID 1804) Gibt vor, das Verzeichnis „Landscape“ zu bereinigen. Gibt vor, die Datei „landscape/sysinfo.log“ zu entfernen. (PID 1804) Zurück von der Rekursion nach unten in „Landschaft“. [...] Der obige Vorgang löscht die Dateien nicht tatsächlich, sondern simuliert nur den Löschvorgang, um Ihnen mitzuteilen, welche Dateien gelöscht werden. Wenn Sie sicher sind, dass die zu löschenden Dateien die richtigen sind, können Sie die Option -t entfernen und tmpwatch ausführen, um sie tatsächlich zu löschen. 7. Zwangslöschung tmpwatch -f 10h /var/log/ 8. Bestimmte Dateien beim Löschen überspringen <br /> Wenn Sie beim Löschen bestimmte Dateien behalten möchten, also zur Whitelist hinzufügen möchten, können Sie die Option --protect verwenden. Angenommen, wir möchten alle Dateien vom Typ txt behalten: tmpreaper --protect '*.txt' -t 10h /var/log/ Ausgabe:
Richten Sie einen Cron-Job ein, um Dateien regelmäßig automatisch zu löschen (Insgeheim funktioniert tmpwatch/tmpreaper am besten mit Cron-Jobs.) Rufen Sie das Bearbeitungsfenster für die Cron-Job-Aufgabe auf: # crontab -e Fügen Sie eine periodische Aufgabe hinzu: 0 1 * * * /usr/sbin/tmpwatch 30d /var/log/ Der obige Code stellt tmpwatch so ein, dass es täglich um 1:00 Uhr ausgeführt wird und Dateien löscht, die älter als 30 Tage sind. Freunde, die sich mit Maisjobs nicht auskennen, können im Internet nach einem Leitfaden für Anfänger suchen. Wenn Sie tmpreaper installieren, wird automatisch ein täglicher Cron-Job erstellt (/etc/cron.daily/Tmpreaper). Es liest die Konfiguration aus der Datei /etc/timereaper.conf und führt sie aus. Die Standardeinstellung ist, Dateien zu löschen, die älter als 7 Tage sind. Sie können diese Einstellung ändern, indem Sie die Datei TMPREAPER.conf mit „TMPREAPER_TIME=7d“ ändern. Abschließende Gedanken Manpages zu tmpwatch und tmpreaper: $ man tmpwatch $ Mann tmpreaper Dies ist das Ende dieses Artikels zum eleganten Löschen von Junk-Dateien in Linux. Weitere relevante Inhalte zu Linux-Junk-Dateien finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Analyse der Methode zum Einrichten geplanter Aufgaben in MySQL
>>: Beispielcode zum Vergleich verschiedener Syntaxformate von vue3
Vorwort Erfahren Sie, wie Sie auf Ihrem System ei...
Kobold-Kuh herunterladen CSS-Fussel herunterladen...
Was ist eine gespeicherte Prozedur? Einfach ausge...
Aufgrund der Vorteile von GTID müssen wir die her...
Inhaltsverzeichnis Überblick Code-Implementierung...
Inhaltsverzeichnis 1. Installation 2. Ins Projekt...
Inhaltsverzeichnis Überblick Statische Typprüfung...
Nachdem dieses Namensaufrufgerät mit dem Aufruf d...
Wenn die DataSource-Eigenschaft eines DataGrid-Ste...
Vorwort Wenn Bildlaufereignisse wie Scrollen und ...
Inhaltsverzeichnis 8. Kreisförmiger Fortschritts-...
1. Laden Sie das Installationsskript - composer-s...
Dieser Artikel veranschaulicht anhand von Beispie...
Inhaltsverzeichnis 1. fill()-Syntax 2. Verwendung...
Screenshots der Effekte: Implementierungscode: Cod...