So deaktivieren Sie die parallele Ausführung im Bash-Skript

So deaktivieren Sie die parallele Ausführung im Bash-Skript

Ich muss ein Skript erstellen, um Daten aus einer Datenbank zu sammeln und sie den Anforderungen entsprechend zu formatieren. Dies soll durch einen geplanten Cron-Job ausgeführt werden. Es dürfen jedoch keine parallelen Läufe stattfinden. (Wenn ein Prozess ausgeführt wird, dürfen die anderen nicht gestartet werden.)

Helfen Sie mir, dies in Bash-Skripten zu tun.

Antwort1

Sie können eine Sperrdatei verwenden. Überprüfen Sie beim Starten des Skripts, ob die Sperrdatei bereits vorhanden ist. Wenn ja, beenden Sie das Skript. Wenn nicht, fahren Sie fort. Führen Sie Ihr Skript aus, wenn die Sperrdatei erstellt wurde. Entfernen Sie vor dem Beenden die Sperrdatei. Etwa so:

if [ - f lock ] ; then
exit 1
fi
touch lock
your code
rm lock

verwandte Informationen