Wie man einen Linux -Befehl für immer ausführt oder wiederholt

Wie man einen Linux -Befehl für immer ausführt oder wiederholt

Ein Systemadministrator muss häufig einen Befehl in einem bestimmten Zeitraum wiederholt ausführen. Oft können solche Aufgaben leicht mit einfachen Cron -Befehlen erledigt werden. In den meisten Fällen sollte dies funktionieren, aber der kürzeste Zeitraum, den Sie Cron -Befehl ausführen können, ist alle 1 Minute. Ob Sie es glauben oder nicht, in vielen Fällen ist dies zu langsam.

Führen Sie jede Sekunde Linux -Befehl aus

In diesem Tutorial lernen Sie eine einfache Skripttechniken, um einen bestimmten Befehl zu überwachen oder im Auge zu behalten, wenn Sie standardmäßig den Top -Befehl (kontinuierlich überwachen) für alle drei Sekunden standardmäßig alle 3 Sekunden lang auf alle 3 Sekunden lang vergleichbar.

Wir werden nicht aufhören, die Gründe zu besprechen, warum Sie so oft Befehle ausführen müssten. Ich glaube.

1. Verwenden Sie den Befehl Watch

Betrachten ist ein Linux -Befehl, mit dem Sie regelmäßig einen Befehl oder ein Programm ausführen können, und zeigt auch, dass Sie auf dem Bildschirm ausgeben. Dies bedeutet, dass Sie die Programmausgabe rechtzeitig sehen können. Standardmäßig wird der Befehl/das Programm alle 2 Sekunden erneut ausgeführt. Das Intervall kann leicht geändert werden, um Ihre Anforderungen zu erfüllen.

Überwachen Sie die Speicherverwendung

"Watch" ist extrem einfach zu bedienen. Um es zu testen, können Sie sofort einen Linux -Terminal abbauen und den folgenden Befehl eingeben:

# Free -m ansehen 

Der obige Befehl überprüft Ihren systemfreien Speicher und aktualisiert die Ergebnisse des kostenlosen Befehls alle zwei Sekunden.

Überwachen Sie die Speicherverwendung unter Linux

Wie bei der oben genannten Ausgabe zu sehen ist, haben Sie einen Header, in dem Informationen über (von links nach rechts) Aktualisierungsintervall, Befehl angezeigt werden, der ausgeführt wird, und die aktuelle Zeit. Wenn Sie diesen Header verbergen möchten, können Sie die verwenden -T Möglichkeit.

Die nächste logische Frage lautet: So ändern Sie das Ausführungsintervall. Zu diesem Zweck können Sie die verwenden -N Option, die das Intervall angibt, mit dem der Befehl ausgeführt wird. Dieses Intervall ist in Sekunden angegeben. Nehmen wir also an, Sie möchten Ihre betreiben Skript.Sch Datei alle 10 Sekunden können Sie es so tun:

# Watch -n 10 Skript.Sch 

Notiz Wenn Sie den Befehl wie oben gezeigt ausführen, müssen Sie CD In dem Verzeichnis (lernen.

Weitere nützliche Optionen des Watch -Befehls sind:

  1. -B - erstellt einen Piepton, wenn der Ausgang des Befehls ungleich Null ist.
  2. -C - Interpretiert ANSI -Farbsequenzen.
  3. -D - Markiert die Änderungen in der Befehlsausgabe.

Überwachen Sie angemeldete Benutzer, Verfügbarkeit und Lastdurchschnitt

Nehmen wir an, Sie möchten protokollierte Benutzer, die Verfügbarkeit von Servers und die ladendurchschnittliche Ausgabe in kontinuierlich Phase alle paar Sekunden überwachen und dann wie gezeigt den folgenden Befehl verwenden:

# UPTIME SEHEN 
Beobachten Sie den Linux -Lastdurchschnitt

Drücken Sie zum Beenden des Befehls Strg+c.

Hier das 'Betriebszeit' Der Befehl wird standardmäßig alle 2 Sekunden lang alle 2 Sekunden ausgeführt und angezeigt.

Überwachen Sie den Fortschritt des Kopierbefehls

Unter Linux, während Dateien von einem Ort zu einem anderen kopieren CP Der Befehl, der Fortschritt der Daten wird nicht angezeigt, um den Fortschritt der kopierten Daten zu sehen, können Sie die verwenden betrachten Befehl zusammen mit dem Befehl Du -S, um die Datenträgernutzung in Echtzeit zu überprüfen.

# CP Ubuntu-15.10-Desktop-AMD64.ISO/HOME/TECMINT/& # Uhr -n 0.1 du -s/home/tecmint/ubuntu -15.10-Desktop-AMD64.ISO 
Überwachen Sie den Fortschritt des Kopierbefehls

Wenn Sie der Meinung sind, dass der obige Vorgang zu kompliziert ist, um sie zu erreichen.

2. Verwenden Sie den Schlafbefehl

Schlaf wird oft verwendet, um Shell -Skripte zu debuggen, aber er hat auch viele andere nützliche Zwecke. Zum Beispiel in Kombination mit mit für oder während Loops, Sie können ziemlich großartige Ergebnisse erzielen.

Wenn Sie neu für das Scripting von Scripting sind, können Sie hier unseren Leitfaden zu Bash -Loops überprüfen.

Für den Fall, dass dies das erste Mal ist, dass Sie von dem hören "schlafen" Befehl, es wird verwendet, um etwas für eine bestimmte Zeitspanne zu verzögern. In Skripten können Sie es verwenden, um Ihr Skript mitzuteilen, dass der Befehl 1 ausführt, warten Sie 10 Sekunden lang und führen Sie den Befehl 2 aus.

Mit den oben genannten Schleifen können Sie Bash sagen, dass er einen Befehl ausführen soll, für den Schlaf für N Menge von Sekunden und dann den Befehl erneut aus.

Unten finden Sie Beispiele für beide Schleifen:

Für Schleifenbeispiel

# für i in 1… 10; echo -n "Dies ist ein Test in Loop $ i"; Datum ; Schlaf 5; Erledigt 

In der obigen Ein Liner wird der Befehl echo ausgeführt und das aktuelle Datum insgesamt zehnmal angezeigt, wobei 5 Sekunden zwischen den Ausführungen geschlafen werden.

Hier ist ein Beispielausgang:

Dies ist ein Test in Loop 1. Mi 17. Februar 20:49:47 EET 2016 Dies ist ein Test in Loop 2. Mi. 2016 Dies ist ein Test in Loop 4. Mi 17. Februar 20:50:02 EET 2016 Dies ist ein Test in Loop 5 Mi. EET 2016 Dies ist ein Test in Loop 7 Mi 17. Februar 20:50:17 EET 2016 Dies ist ein Test in Loop 8. Mi 17. Februar 20:50:22 EET 2016 Dies ist ein Test in Loop 9 Mi, 17. Februar 20:50: 27 EET 2016 Dies ist ein Test in Loop 10 Mi 17. Februar 20:50:32 EET 2016 

Sie können die ändern Echo Und Datum Befehle mit Ihren eigenen Befehlen oder Skripts und ändern Sie das Schlafintervall pro Bedürfnissen.

Während Schleifen Beispiel

# während wahr; echo -n "Dies ist ein Test von während der Schleife"; Datum; Schlaf 5; Erledigt

Hier ist Beispielausgabe:

Dies ist ein Test von 17 Februar 20.52:32 EET 2016 Dies ist ein Test, der am 17. Februar am 17. Februar 20:52:37 EET 2016 ist. Dies ist ein Test von 17. Februar 20:52:42 Eet 2016 das Ein Test von 17 Februar 20.52:47 EET 2016 Dies ist ein Test von 17. Februar 20:52:52 EET 2016 Dies ist ein Test von 17. Februar 20:52:57 EET 2016 

Der obige Befehl wird ausgeführt, bis er vom Benutzer entweder getötet oder unterbrochen wird. Es kann nützlich sein, wenn Sie einen im Hintergrund ausgeführten Befehl ausführen müssen, und Sie möchten sich nicht darauf verlassen Cron.

Wichtig: Wenn Sie die oben genannten Methoden verwenden, empfehlen Sie dringend, dass Sie das Intervall lange genug festlegen, um vor der nächsten Ausführung genügend Zeit Ihres Befehls zu geben, um das Laufen zu beenden.

Abschluss

Die Proben in diesem Tutorial sind nützlich, sollen jedoch nicht den Cron -Dienstprogramm vollständig ersetzen. Es liegt an Ihnen, herauszufinden, welches besser für Sie funktioniert, aber wenn wir die Verwendung beider Techniken trennen müssen, würde ich Folgendes sagen:

  1. Verwenden Sie Cron, wenn Sie Befehle auch nach dem Neustart des Systems regelmäßig ausführen müssen.
  2. Verwenden Sie die in diesem Tutorial erläuterten Methoden für Programme/Skripte, die in der aktuellen Benutzersitzung ausgeführt werden sollen.

Wie immer, wenn Sie Fragen oder Kommentare haben, zögern Sie nicht, sie im Kommentarbereich unten einzugeben.