Использование Launchd для вызова скрипта Python?

как продолжение моего первоначального вопроса...

регулярно резервное копирование файла журнала в OSX?

Я пытаюсь создать резервную копию файла журнала на компьютере OSX и взломанном iPhone. LaunchD был рекомендован в качестве решения, и некоторые поиски Google позже показали, что LingOn является инструментом для использования.

вывод (после заполнения полей) дает мне этот PList:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ash.MySuperLaunchd</string>
    <key>ProgramArguments</key>
    <array>
        <string>python</string>
        <string>/Users/ash/Desktop/sendemail.py</string>
    </array>
    <key>StartInterval</key>
    <integer>3600</integer>
</dict>
</plist>

теперь, запустив мой скрипт python, вызвав его в терминале, успешно отправить письмо на мой почтовый ящик с вложениями мне нужно.

LaunchD просто не запускается, хотя и я не уверен, почему.

1
задан Community
21.02.2023 12:11 Количество просмотров материала 3599
Распечатать страницу

1 ответ

необходимо загрузить агент. Либо релогин, либо launchctl load /path/to/file.plist.

RunAtLoad по умолчанию false, поэтому скрипт запускается в первый раз StartInterval секунд после загрузки, в данном случае 3600.

путь в ProgramArguments должно указывать на постоянное местоположение скрипта, так что, вероятно, не должно быть ~/Desktop/. Целевой сценарий не обязательно должен быть исполняемым. Но как правильно устранить неполадки с помощью @DanielBeck в комментариях, проверьте, что вы можете, например python /Users/ash/Desktop/sendemail.py во-первых, и что линия shebang правильная.

1
отвечен user495470 2023-02-22 19:59

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх