Einfach. Sie möchten "at" verwenden, um Ihren Job zu planen. und "Datum", um deinen momentanen Zeitpunkt zu berechnen.
Beispiel:
%Vor%oder:
%Vor% -v+60S
fügt der aktuellen Zeit 60 Sekunden hinzu. Sie können genau steuern, wie viele Sekunden Sie hinzufügen möchten.
Aber normalerweise, wenn Leute wollen, dass ein Programm eine Minute nach der anderen startet, sind sie nicht 100% sicher, dass es nicht mehr oder weniger als eine Minute dauern wird. das ist es. b.sh
könnte gestartet werden, bevor a.sh
beendet ist. oder a.sh
könnte 30 Sekunden früher als "geplant" beendet sein und b.sh könnte schneller gestartet haben.
Ich würde ein anderes Modell empfehlen. Wo b.sh
zuerst gestartet wird.
a.sh
erstellt beim Start eine temporäre Datei. Ausführen ist Aufgaben und lösche seine temporäre Datei am Ende.
b.sh
überwacht, ob die temporäre Datei erstellt und dann gelöscht wird. und beginne seine Aufgaben.
Machen Sie die letzte Zeile von a.sh:
%Vor%(Wenn sich b.sh nicht in einem Verzeichnis in PATH befindet, stellen Sie einen vollständigen Pfad zu b.sh her.)
Verwenden Sie den Befehl at
.
Siehe man at
für die Verwendung.
Wenn Sie das zweite Skript einige Sekunden nach dem start des ersten Skripts ausführen möchten, können Sie dies im ersten tun:
%Vor%und das in der zweiten:
%Vor%Sie könnten die Anzahl der Sekunden als Argument von der ersten zur zweiten übergeben.
Leider macht at
keine Zeitschritte feiner als eine Minute.
Planen Sie beide Skripts gleichzeitig in Cron und setzen Sie die erforderliche Verzögerung in b.sh.
Tags und Links bash