tmpreaper ist ein Tool zum Entfernen von Dateien, auf die über einen bestimmten Zeitraum nicht zugegriffen wurde.
Auf Linux-Desktop-Distributionen eignet sich dies gut zum Bereinigen von Verzeichnissen wie „~/Downloads“, in denen sich Dateien über einen bestimmten Zeitraum ansammeln.
Auf Linux-Server-Distributionen ist dies gut zum Bereinigen alter Protokolldateien oder Sicherungsdateien, die nicht mehr benötigt werden.
tmpreaper sucht und entfernt rekursiv Dateien und Verzeichnisse, auf die über einen bestimmten Zeitraum nicht zugegriffen wurde.
WARNUNG: Bevor Sie tmpreaper installieren und damit herumspielen, stellen Sie sicher, dass Sie die Auswirkungen der Ausführung von tmpreaper verstehen, da es alle Dateien von Ihrem System löscht, die den angegebenen Kriterien entsprechen. Führen Sie tmpreaper NICHT auf / (Stammverzeichnis) aus, da dies wichtige Dateien löschen könnte, die erforderlich sind, um Ihr System am Laufen zu halten. Es gibt keinen in das tmpreaper-Programm eingebauten Schutz, der Sie daran hindert, im Root-Verzeichnis zu laufen, da dies die Verwendung von tmpreaper in einer Chroot-Umgebung erschweren würde.
1. Installieren Sie tmpeaper
Verwenden Sie auf Debian-basierten Systemen wie Ubuntu apt-get:
$ sudo apt-get install tmpreaper
Verwenden Sie auf RPM-basierten Systemen wie CentOS und RedHat yum:
$ sudo yum -y install tmpreaper
Tmpreaper-Befehlssyntax:
$ tmpreaper [options] <time_spec> <dirs>
2. Dateien entfernen, die N Tage älter sind
Um Dateien zu entfernen, die 5 Tage älter sind, verwenden Sie „5d“ als Zeitangabe.
Der folgende Befehl löscht beispielsweise Dateien aus dem Ordner ~/Downloads, auf die in den letzten 5 Tagen nicht zugegriffen wurde.
$ tmpreaper 5d ~/Downloads
3. Dateien entfernen, die N Tage lang nicht geändert wurden
Standardmäßig löscht tmpreaper Dateien basierend auf der „Zugriffszeit“. Sie können die Option „-m“ verwenden, um tmpreaper anzuweisen, Dateien basierend auf der „Änderungszeit“ zu löschen.
Der folgende Befehl löscht Dateien, die 5 Tage lang im Download-Ordner nicht geändert wurden.
$ tmpreaper -m 5d ~/Downloads
Sie können auch die folgenden Zeichen für den time_spec-Parameter verwenden
- d – für Tage
- h – für Stunden
- m – minutenlang
- s – für Sekunden
4. Entfernen Sie symbolische Links mit -s
Verwenden Sie die Option -s, um auch symbolische Links zu entfernen, nicht nur Dateien und Verzeichnisse.
Abgesehen von der Bereinigung der Dateien und Verzeichnisse bereinigt der folgende Befehl auch die symbolischen Links, die den angegebenen Zeitangaben entsprechen.
$ tmpreaper -s 5h ~/Downloads
5. Entfernen Sie alle Dateitypen mit -a Option
Verwenden Sie die Option -a, um alle Arten von Dateien zu entfernen, nicht nur normale Dateien, Verzeichnisse und symbolische Links.
$ tmpreaper -a 5m ~/Downloads
6. Führen Sie einen Probelauf durch – Testen Sie auf Löschung mit der Option -t
Verwenden Sie die Option -t, um zu testen, welche Dateien gelöscht werden sollen.
Dies ist sehr hilfreich, wenn Sie dies für ein wichtiges Verzeichnis ausführen und genau wissen möchten, welche Dateien gelöscht werden, bevor sie wirklich gelöscht werden.
Diese Option entfernt die Dateien nicht.
$ tmpreaper -t 5d ~/Downloads (PID 5415) Pretending to clean up directory `/home/lakshmanan/Downloads'. (PID 5416) Pretending to clean up directory `.tmp_versions'. (PID 5416) Back from recursing down `.tmp_versions'.
7. Erzwingen Sie das Löschen von Dateien mit der Option -f
Verwenden Sie die Option -f, um das Löschen von Dateien zu erzwingen. Normalerweise werden Dateien, die dem aktuellen Benutzer (EUID) ohne Schreibzugriff gehören, nicht entfernt. Mit -f werden diese Dateien ebenfalls entfernt.
$ tmpreaper -f 5h ~/Downloads
8. Löschen Sie Dateien, die einem Muster entsprechen, nicht mit der Option –protect
Verwenden Sie –protect ‘
Beispielsweise löscht der folgende Befehl alle Dateien außer „.c“-Dateien.
$ tmpreaper --protect '*.c' -t 5h ~/my_prg Entry matching `--protect' pattern skipped. `hello.c' Pretending to remove file `./.hello.o'.
9. Verwendung von tmpreaper in Cron
Wenn Sie tmpreaper installieren, wird standardmäßig ein Eintrag in crontab ( /etc/cron.daily/tmpreaper ) erstellt. Es liest die Optionen aus /etc/tmpreaper.conf und führt den tmpreaper-Befehl basierend auf diesen Optionen aus.
Die /etc/tmpreaper.conf ist selbsterklärend und leicht verständlich. Standardmäßig werden Dateien, die 7 Tage alt sind, in /tmp gelöscht, außer einigen Dateitypen. Wenn Sie dies verwenden möchten, entfernen Sie die Zeile „SHOWWARNING=true“ aus /etc/tmpreaper.conf.
Sobald die Zeile entfernt ist, wird tmpreaper täglich ausgeführt, um die angegebenen Verzeichnisse ohne Benutzereingriff zu bereinigen.