Ich habe ein Python-Skript geschrieben, das ich zu einem bestimmten Zeitpunkt ausführen muss, nachdem ein anderes Skript ausgeführt wurde. Ich habe den at
Befehl gefunden und nach einigem Suchen Folgendes ausprobiert (der Lesbarkeit halber in mehrere Zeilen aufgeteilt):
/private/var/folders/w9/6q0rjl6n4yv859fpxbg4123w0000gn/T/S10/fm-git.py
--filename chiv-lib --repository /Users/chuck/Projects/chivalry/chiv-lib/
--path Chivalry/ --comment "test" | at 2:52pm
Das Skript wurde sofort ausgeführt. Also versuchte ich
at 2:53pm
> /private/var/folders/w9/6q0rjl6n4yv859fpxbg4123w0000gn/T/S10/fm-git.py
> --filename chiv-lib --repository /Users/chuck/Projects/chivalry/chiv-lib/
> --path Chivalry/ --comment "test"
> ^D
Aber die Zeit verging und das Skript wurde nicht ausgeführt. Nach dem obigen Vorgang at -l
wird Folgendes ausgegeben:
13 Mon Nov 27 02:53:00 2017
12 Mon Nov 27 14:52:00 2017
Dies ist auf macOS High Sierra. Ist das at
das richtige Dienstprogramm dafür? Wenn ja, wie kann ich es dazu bringen, das zu tun, was ich hier will?
Antwort1
Mal sehen, auf Mac OS X (da diese Hardware zu alt ist, um macOS auszuführen) plus mitmyat
weil ich mir nie das gewünschte Datumsformat merken kann at
...
$ date
domingo, 26 de noviembre de 2017, 16:34:12 PST
$ myat 16:36
touch $HOME/nananananananananananananananana-atran
job 2 at Sun Nov 26 16:36:00 2017
$ atq
1 Wed Mar 9 08:00:00 2016
2 Sun Nov 26 16:36:00 2017
$
... warum liegt da ein Job aus dem Jahr 2016 rum??
$ date
domingo, 26 de noviembre de 2017, 16:36:33 PST
$ atq
1 Wed Mar 9 08:00:00 2016
2 Sun Nov 26 16:36:00 2017
$
at
Ähhhh … vielleicht hilft die Manpage ?
IMPLEMENTATION NOTES
Note that at is implemented through the launchd(8) daemon periodically
invoking atrun(8), which is disabled by default. See atrun(8) for infor-
mation about enabling atrun.
Inzwischen atrun(8)
finden wir hier...
Execute the following command as root to enable atrun:
launchctl load -w
/System/Library/LaunchDaemons/com.apple.atrun.plist
Meine Güte. Lass es uns versuchen ...
$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Und dann warten wir etwa ein oder zwei Minuten ...
$ atq
$ ls *atran
nananananananananananananananana-atran
$
Sieht gut aus, sobald Sie es einschalten (Achtung, kann den Akku oder wertvolle CPU-Speicherplätze belasten ...)