Я не могу запланировать периодический запуск с launchctl
/ launchd
на OS X (Leopard). По сути, я не могу найти пошаговый список инструкций в Интернете, и интуитивный подход не работает.
sync.plist
Файл:
<?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>
Я поместил этот скрипт в путь ~/Library/LaunchAgents
.
Далее я зарегистрировал скрипт, используя
launchctl load ~/Library/LaunchAgents/sync.plist
Наконец, чтобы проверить, что это работает, я начал работу:
launchctl start net.madrat.utils.sync
- Ничего не произошло. Выполнение rsync
команды в терминале вручную дает ожидаемый результат.
Я вполне уверен, что задание было зарегистрировано правильно, потому что, если я пытаюсь запустить несуществующее задание, я получаю сообщение об ошибке (которого я не получил в приведенной выше команде).
Что я сделал не так?
launchctl list
сделал дисплей 1, но только после того, как я начал агент вручную с помощьюlaunchctl start
.