Non riesco a pianificare un lancio periodico con launchctl/ launchdsu OS X (Leopard). Fondamentalmente, non riesco a trovare un elenco dettagliato di istruzioni sul Web e l'approccio intuitivo non funziona.
Il sync.plistfile:
<?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>
Ho inserito questo script nel percorso ~/Library/LaunchAgents.
Successivamente, ho registrato lo script utilizzando
launchctl load ~/Library/LaunchAgents/sync.plist
Alla fine, per provare che funziona, ho iniziato il lavoro:
launchctl start net.madrat.utils.sync
- Non è successo niente. L'esecuzione manuale del rsynccomando nel terminale produce il risultato previsto.
Sono abbastanza sicuro che il lavoro sia stato registrato correttamente perché se provo ad avviare un lavoro inesistente, ricevo un messaggio di errore (che non ho ricevuto nel comando sopra).
Che cosa ho fatto di sbagliato?
launchctl listha visualizzato 1, ma solo dopo aver avviato l'agente manualmente utilizzandolaunchctl start.