launchd tut nicht

Wikinator

Adams Parmäne
Registriert
21.08.04
Beiträge
1.297
Hallo,

ich habe ein Backup-Script geschrieben und wollte es mit launchd (eigentlich ja mit cron, aber wenn man lieber launchd verwenden soll) täglich ausführen lassen.
Ich habe das .plist-File (unten angehängt) unter ~/Library/LaunchAgents/ gespeichert.
Geladen habe ich es mit:
Code:
launchctl load ~/Library/LaunchAgents/rsync.plist
und mit
Code:
launchctl start rsync
geht es auch, aber leider passiert nun um 21:25 Uhr nichts :(
Ich musste ~/Library/LaunchAgents/ neu erstellen, ist das richtig so?
 

Anhänge

  • Picture 1.png
    Picture 1.png
    36,7 KB · Aufrufe: 175

Wikinator

Adams Parmäne
Registriert
21.08.04
Beiträge
1.297
nein, nur mit OnDemand false. mit true laufen sie auch nicht.
 

schlingel

Melrose
Registriert
06.06.04
Beiträge
2.479
hä? was is das denn für eine antwort auf meine frage?
 

Wikinator

Adams Parmäne
Registriert
21.08.04
Beiträge
1.297
nein, auch mit dem Programm Lingon laufen sie nicht. Sie laufen nur mit OnDemand = false.
 

Wikinator

Adams Parmäne
Registriert
21.08.04
Beiträge
1.297
Wäre natürlich nicht schlecht, wenn sie laufen würden.
 

Wikinator

Adams Parmäne
Registriert
21.08.04
Beiträge
1.297
auch die User-Crontabs laufen nicht:

meine mit 'crontab -e' erstelle crontab-datei sieht so aus, wird aber nicht ausgeführt:
Code:
37      15      *       *       *       sebastian       /opt/backup_script
 

Nogger

Damasonrenette
Registriert
05.11.05
Beiträge
494
In User-Crontabs gibt es kein Feld für den Benutzer, denn der steht ja fest. Also weglassen.

Bezüglich launchd: Es scheint da noch Fehler zu geben. Wenn man den neuen EIntrag einlädt, dann muß der Startzeitpunkt min. eine Stunde in der Zukunft liegen, ansonsten wird es erst am nächsten Tag ausgeführt. Außerdem wird die Zeit im Ruhezustand addiert. Start um 15 Uhr, und 5 Stunden in der Nachst davor geschlafen -> Start um 20 Uhr. Echt buggy dieser Teil.
 
  • Like
Reaktionen: Wikinator

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Nogger schrieb:
In User-Crontabs gibt es kein Feld für den Benutzer, denn der steht ja fest. Also weglassen.

Bezüglich launchd: Es scheint da noch Fehler zu geben. Wenn man den neuen EIntrag einlädt, dann muß der Startzeitpunkt min. eine Stunde in der Zukunft liegen, ansonsten wird es erst am nächsten Tag ausgeführt. Außerdem wird die Zeit im Ruhezustand addiert. Start um 15 Uhr, und 5 Stunden in der Nachst davor geschlafen -> Start um 20 Uhr. Echt buggy dieser Teil.

Meines Wissens ist das kein Bug.
 

Wikinator

Adams Parmäne
Registriert
21.08.04
Beiträge
1.297
dann hätte es doch wenigstens in der man-page stehen müssen, oder habe ich das nur übersehen?
 

Nogger

Damasonrenette
Registriert
05.11.05
Beiträge
494
Warum soll das kein Bug sein?

Nach der launchd.plisl man-page soll 12:30 auch 12:30 heißen. Irgendwas von Addition der Ruhezeit steht nicht drin und ist auch nicht wirklich sinnvoll. Es wird sogar explizit eine Analogie zu cron gezogen.

Warum die eine Stunde Mindestdifferenz zu "jetzt" steht auch nirgends und ich sehe auch keinen technischen Grund dafür.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Es gibt mehr als eine themenbezogene manpage ;) Beispielsweise steht
StartInterval <integer>
This optional key causes the job to be started every N seconds. If the
system is asleep, the job will be started the next time the computer
wakes up. If multiple intervals transpire before the computer is woken,
those events will be coalesced into one event upon wake from sleep.
in
man launchd.plist
 

Nogger

Damasonrenette
Registriert
05.11.05
Beiträge
494
Ich weiß nicht, wo du daraus abliest, daß der Ausführungszeitpunkt nach dem Aufwachen um die Schlafenszeit verschoben wird. Außerdem ging es um StartCalendarInterval.

Da steht: Der Job wird alle N Sekunden ausgeführt. Wenn zu dem Zeitpunkt der gewünschten Ausführung der Rechner schläft, wird der Job ausgeführt, sobald der Rechner aufwacht. Wurden in der Schlafenszeit mehrere Ausführungszeitpunkte erreicht, wird der Job nur einmal nachgeholt.