GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So entfernen Sie Dateien, die älter als N Tage sind, mit tmpreaper in Linux

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 ‘’, um die Mustervergleichsdateien vor dem Löschen zu schützen.

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.


Linux
  1. So führen Sie einen zeilenweisen Vergleich von Dateien in Linux mit dem Befehl diff durch

  2. So verwalten Sie Protokolldateien mit Logrotate unter Linux

  3. Wie lösche ich alle Dateien, die älter als X Tage in Linux sind?

  4. Wie finde ich Dateien, die in den letzten 30 Tagen in Linux geändert wurden?

  5. So erstellen Sie Tar für Dateien, die älter als 7 Tage sind, mithilfe von Linux-Shell-Skripten

So finden Sie Dateien über die Befehlszeile im Linux-Terminal

So benennen Sie Dateien über die Befehlszeile in Linux um

So entfernen Sie Dateien mit einer bestimmten Erweiterung in Linux

So löschen Sie Dateien, die älter als die angegebenen Tage in Linux sind

So entfernen/löschen Sie Dateien in Linux mit dem Befehl rm

So kopieren Sie Dateien unter Linux mit dem CP-Befehl