
Ich schreibe ein Bash-Skript (.sh) für Cygwin. Ich möchte einen bestimmten Befehl zu einer bestimmten Zeit ausführen.
Ich habe Folgendes versucht:
echo "test" | at 19:00
aber ich erhalte die folgende Fehlermeldung:
The AT command has been deprecated. Please use schtasks.exe instead.
Kann ich hierfür also nur die Funktion „Geplante Task“ in Windows verwenden?
Antwort1
Der at
Befehl aus Unix ist unter Cygwin nicht verfügbar. Cygwin hat traditionell den at
Befehl aus Windows verwendet, dieser wurde jedoch zugunsten von verworfen schtasks.exe
.
Die Antwort auf Ihre Frage ist also „Ja“: Sie können „Geplante Tasks“ in Windows nur verwenden, um eine Aufgabe einmal auszuführen.
(Sie können cron
es verwenden und auf ein bestimmtes Datum zu einer bestimmten Uhrzeit einstellen … es wird jedoch jedes Jahr wiederholt, sofern Sie die Aufgabe nicht aus der Crontab entfernen.) ;-)
Antwort2
Sie können stattdessen einen Cron-Job hinzufügen.
Melden Sie sich als der Benutzer an, von dem Sie das Bash-Skript ausführen möchten.
Befehl ausführen crontab -e
.
Angenommen, Sie möchten das Bash-Skript jeden Tag genau um 19:00 Uhr ausführen, dann müssen Sie eine Zeile wie diese hinzufügen:
00 19 * * * /path/to/bash/script
Hinweis: Für dieses Skript muss das Ausführungsbit für diesen Benutzer gesetzt sein.