Je ne parviens pas à planifier un lancement périodique avec launchctl
/ launchd
sur OS X (Leopard). Fondamentalement, je ne parviens pas à trouver une liste d'instructions étape par étape sur le Web et l'approche intuitive ne fonctionne pas.
Le sync.plist
dossier:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.madrat.utils.sync</string>
<key>Program</key>
<string>rsync</string>
<key>ProgramArguments</key>
<array>
<string>-ar</string>
<string>/path/to/folder/</string>
<string>/path/to/backup/</string>
</array>
<key>StartInterval</key>
<integer>7200</integer>
</dict>
</plist>
J'ai mis ce script dans le chemin ~/Library/LaunchAgents
.
Ensuite, j'ai enregistré le script en utilisant
launchctl load ~/Library/LaunchAgents/sync.plist
Enfin, pour tester son fonctionnement, j'ai commencé le travail:
launchctl start net.madrat.utils.sync
- Rien ne s'est passé. L'exécution manuelle de la rsync
commande dans le terminal donne le résultat attendu.
Je suis assez sûr que le travail a été enregistré correctement car si j'essaie de démarrer un travail inexistant, j'obtiens un message d'erreur (que je n'ai pas obtenu dans la commande ci-dessus).
Qu'ai-je fait de mal?
launchctl list
a affiché 1, mais seulement après avoir démarré l'agent manuellementlaunchctl start
.