So führen Sie mehrere Befehle in einem Cron -Job aus

So führen Sie mehrere Befehle in einem Cron -Job aus

Crontab ist ein Dienstprogramm für die Ausführung geplanter Aufgaben in regelmäßigen Abständen auf Unix-Linux-Systemen. Es ermöglicht es uns, mehrere Cron -Jobs zu planen, die gleichzeitig laufen können. Wir können jeden Shell -Befehl oder -Skript planen, der auf dem Terminal ausgeführt werden kann. Jeder geplante Job in Crontab wird durch eine neue Linie getrennt. Wir können auch mehrere Befehle oder Skripte in einem einzigen Cron -Job definieren, um einzeln auszuführen.

Wie man zwei Befehle unter Linux sepreatiert

Sie können zwei oder mehr Befehle trennen, indem Sie Semikolons (;), Logische und (&&) oder logische oder (||) Operatoren verwenden. Welche dieser Betreiber wir verwenden, hängt vollständig von den Anforderungen ab. Hier ist das grundlegende Verständnis der Verwendung dieser Operatoren.

  1. Semikolon (;): wird verwendet, um mehrere Befehle zu trennen. Dies führt alle Befehle aus, ohne den Exit -Status früherer Befehle zu überprüfen.
    Befehl_1; Befehl_2; command_n 
  2. Logisch und (&&): wird verwendet, um Befehle zu trennen, wenn wir den nächsten Befehl nur ausführen möchten, wenn der vorherige Befehl erfolgreich mit dem Exit -Status 0 ausgeführt wurde.
    command_1 && command_2 && command_n 
  3. Logisch oder (||): wird verwendet, um Befehle zu trennen, wenn wir den nächsten Befehl nur ausführen möchten, wenn der vorherige Befehl mit einem Nicht-0-Exit-Status fehlgeschlagen ist.
    command_1 || command_2 || command_n 

So planen Sie einen Cron -Job

Wechseln Sie zunächst zu dem Benutzer, aus dem Sie einen Cron -Job ausführen möchten. Öffnen Sie dann den Crontab -Editor, indem Sie den folgenden Befehl ausführen.

Crontab -e  

Dann fügen Sie der Datei wie unten einen Cron -Jobeintrag hinzu:

Crontab -Befehle getrennt mit logisch und

Ausführen mehrerer Befehle im Einzelcron -Job ausführen

Lassen Sie uns die realen Beispiele für das Ausführen mehrerer Befehle mit Crontab mit unterschiedlichen 2 Separaten diskutieren.

  1. Unter Verwendung von Semikolon (;)
  2. Wir können zwei oder mehr Befehle mit Semikolonen trennen, für die nicht den Exit -Status des vorherigen Befehls überprüft werden muss. Beispiel.

    0 2 * * * chmod -r 755/var/www/myapp; CHMOD -R 777/var/www/myapp/logs
    10 2 * * * chmod -r 755/var/www/myapp; CHMOD -R 777/var/www/myapp/logs

    Crontab -Befehle getrennt mit Semikolon (;)

  3. Verwenden Sie logisch und (&&)
  4. Verwenden Sie diesen Bediener, in dem Sie den nächsten Befehl nur ausführen möchten, wenn der vorherige erfolgreich ausgeführt wird (Exit -Status 0). Zum Beispiel möchten Sie das Backup ausführen.SH nach erfolgreichem Wechsel zum /Backup -Verzeichnis.

    0 2 * * * CD /Backup && Bash Backup.Sch
    10 2 * * * CD /Backup && Bash Backup.Sch

    Crontab -Befehle getrennt mit logisch und

  5. Verwenden Sie logisch oder (||)
  6. Verwenden Sie den logischen oder (||) Operator, wenn Sie den nächsten Befehl nur ausführen möchten, wenn der vorherige Fehler fehlgeschlagen ist (Status nicht-0). Sie möchten beispielsweise eine Nachricht anzeigen oder eine E -Mail senden, wenn die Sicherungsdatei nicht gefunden wurde.

    0 2 * * * [-f /backup /mydb -'date +%f '.SQL] || Echo "Die heutige Sicherungsdatei nicht gefunden"
    10 2 * * * [-f /backup /mydb -'date +%f '.SQL] || Echo "Die heutige Sicherungsdatei nicht gefunden"
    Crontab -Befehle, die mit logischen und separaten

Abschluss

In diesem Blog -Beitrag haben Sie erfahren, dass Sie mehrere Befehle in einem einzigen Cron -Jobeintrag ausführen. Erörterte auch verschiedene Optionen, um Befehle zu trennen. Der Artikel enthält Ihnen die grundlegenden Details zu jedem Separator, mit dem die Befehle getrennt werden.