Ich möchte meinen Server von großen Protokolldateien und Sicherungen bereinigen.
Ich habe mir das ausgedacht:
find ./ -size +1M | xargs rm
Aber ich möchte nicht mp3 und mp4 einschließen. Ich möchte dies nur für Protokoll- und Archivdateien (zip, tar usw.) tun.
Wie wird der Befehl aussehen?
find / -type f \( -name "*zip" -o -name "*tar" -o -name "*gz" \) -delete
.. fügen Sie hinzu, welche Erweiterung Sie löschen möchten-delete
Teil für die Überprüfung derlibc.so.**
ca. 1,8 MB! -Antworten:
\( \)
Konstrukt ermöglicht das Gruppieren verschiedener Dateinamenmuster-delete
Option können wir Rohrleitungen und Probleme mitxargs
See this , this und this vermeiden./
oder.
ist optional, wenn derfind
Befehl für das aktuelle Verzeichnis verwendet wirdBearbeiten: Wie Eric Renouf bemerkt , verwenden Sie die Option , wenn Ihre Version von
find
die-delete
Option nicht unterstützt-exec
find -type f \( -name "*zip" -o -name "*tar" -o -name "*gz" \) -size +1M -exec rm {} +
Dabei werden alle
find
nachrm
Befehl gefilterten Dateien an den Befehl übergebenquelle
find
Unterstützung-delete
, obwohl Siexargs
mit-exec rm {} +
Wenn Sie Dateien nach Namen ausschließen möchten, können Sie folgende Syntax verwenden:
oder wenn Ihr
find
nicht unterstütztdelete
:quelle
find
Unterstützung-delete
gfind
...Basierend auf den obigen Antworten habe ich den folgenden Befehl verwendet, um den Server aus großen Protokolldateien zu löschen (nachdem ich in / var / lib / jenkins cd'ed habe).
quelle