Advertisements

Watch-Befehle und -Aufgaben mit dem Linux-Watch-Befehl

Es gibt viele Male, in denen Sie warten müssen, bis etwas fertig ist, wie zum Beispiel:

  • Ein Datei-Download.
  • Erstellen oder Extrahieren einer tar-Datei.
  • Ein Ansible-Job.

Einige dieser Prozesse haben irgendeine Art von Fortschrittsanzeige, aber manchmal wird der Prozess durch eine Abstraktionsschicht geleitet, und der einzige Weg, den Fortschritt zu messen, sind seine Nebenwirkungen. Einige davon könnten sein:

  • Eine heruntergeladene Datei wächst ständig.
  • Ein aus einem Tarball extrahiertes Verzeichnis füllt sich mit Dateien.
  • Der Ansible-Job erstellt einen Container.

Sie können all diese Dinge mit Befehlen wie diesen abfragen:

$ ls -l downloaded-file
$ find . | wc -l
$ podman ps
$ docker ps

Aber diese Befehle immer und immer wieder ausführen, auch wenn dies mit der Bequemlichkeit der Bash-Historie und der Aufwärtspfeil, ist langweilig.

Ein anderer Ansatz besteht darin, ein kleines Bash-Skript zu schreiben, um diese Befehle für Sie zu automatisieren:

while :
do
  docker ps
  sleep 2
done

Aber solche Skripte können auch mühsam zu schreiben sein. Sie könnten ein kleines generisches Skript schreiben und es verpacken, damit es Ihnen immer zur Verfügung steht. Glücklicherweise waren andere Open-Source-Entwickler bereits dort und haben das getan.

Das Ergebnis ist der Befehl watch.

Weitere Linux-Ressourcen

Uhr installieren

Die watch Befehl ist Teil des procps-ng Wenn Sie also Linux verwenden, haben Sie es bereits installiert.

Unter macOS installieren watch mit MacPorts oder Homebrew. Verwenden Sie unter Windows Chocolatey.

Uhr verwenden

Die watch Befehl führt regelmäßig einen Befehl aus und zeigt seine Ausgabe an. Es hat einige Feinheiten des Textterminals, sodass nur die neueste Ausgabe auf dem Bildschirm angezeigt wird.

Die einfachste Verwendung ist: watch <command>.

Zum Beispiel das Präfix docker ps Befehl mit watch funktioniert so:

$ watch docker ps

Die watch -Befehl und ein paar kreative Unix-Befehlszeilen-Tricks können Ad-hoc-Dashboards generieren. Um beispielsweise Audit-Ereignisse zu zählen:

$ watch 'grep audit: /var/log/kern.log |wc -l'

Im letzten Beispiel ist es wahrscheinlich nützlich, wenn ein visueller Hinweis darauf vorhanden ist, dass sich die Anzahl der Überwachungsereignisse geändert hat. Wenn eine Änderung erwartet wird, aber Sie möchten, dass etwas “anders” aussieht, watch --differences funktioniert gut. Es hebt alle Unterschiede zum letzten Lauf hervor. Dies funktioniert besonders gut, wenn Sie in mehreren Dateien greifen, sodass Sie leicht sehen können, welche sich geändert hat.

Wenn keine Änderungen zu erwarten sind, können Sie verlangen, dass diese “permanent” hervorgehoben werden, um zu wissen, welche mithilfe von . untersucht werden sollen watch --differences=permanent. Dies ist oft nützlicher.

Kontrollfrequenz

Schließlich kann der Befehl manchmal ressourcenintensiv sein und sollte nicht zu häufig ausgeführt werden. Die -n Parameter steuert die Frequenz. Die Uhr verwendet standardmäßig zwei Sekunden, aber watch -n 10 könnte für etwas ressourcenintensiveres geeignet sein, wie das Suchen nach einem Muster in einer beliebigen Datei in einem Unterverzeichnis:

$ watch -n 10 'find . -type f | xargs grep suspicious-pattern'

Beobachten Sie einen Befehl mit der Uhr

Die watch Der Befehl ist für viele Ad-hoc-Systemverwaltungsaufgaben nützlich, bei denen Sie auf einen zeitaufwändigen Schritt ohne Fortschrittsbalken warten müssen, bevor Sie mit dem nächsten fortfahren. Obwohl dies keine gute Situation ist, watch kann es etwas besser machen – und Ihnen Zeit geben, an diesen Notizen für die Retrospektive zu arbeiten! Laden Sie die . herunter Spickzettel um hilfreiche Syntax und Optionen griffbereit zu haben.

Watch-Befehle und -Aufgaben mit dem Linux-Watch-Befehl

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top