Não consigo agendar um lançamento periódico com launchctl
/ launchd
no OS X (Leopard). Basicamente, não consigo encontrar uma lista passo a passo de instruções na Web e a abordagem intuitiva não funciona.
O sync.plist
arquivo:
<?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>
Eu coloquei esse script dentro do caminho ~/Library/LaunchAgents
.
Em seguida, registrei o script usando
launchctl load ~/Library/LaunchAgents/sync.plist
Por fim, para testar se funciona, iniciei o trabalho:
launchctl start net.madrat.utils.sync
- Nada aconteceu. A execução manual do rsync
comando no terminal produz o resultado esperado.
Tenho certeza de que o trabalho foi registrado corretamente porque, se eu tentar iniciar um trabalho inexistente, recebo uma mensagem de erro (que não recebi no comando acima).
O que eu fiz errado?
launchctl list
fez exibição 1, mas só depois que eu comecei o agente manualmente usandolaunchctl start
.