OsX Crontab не має ефекту


0

Я динамічно додаю завдання cron до користувача crontab

Наче завдання отримують додавання, crontab -eвиглядає так:

*/10 * * * * /bin/sh /Users/john/Kiosk/app/content/update.sh
@reboot /usr/bin/open /Users/john/Kiosk/startup.command

Проблема полягає в тому, що вона, мабуть, не має ефекту.

Вміст startup.command:

cd /Users/john/Kiosk/app && /usr/bin/python -m SimpleHTTPServer &
sleep 5 && open http://localhost:8000

Що я помиляюся?

Відповіді:


2

Не використовуйте відносні шляхи, але повні. Також із бінарними файлами.

Тоді має бути ваша лінія

*/10 * * * * /usr/bin/sh /home/<username>/Kiosk/app/content/update.sh
@reboot open /home/<username>/Kiosk/startup.command

Звичайно! Це була помилка друку. Також може бути /bin/sh, ви можете це знати, набравши текст which sh.
fedorqui

Хм, це все змінилося, але перезавантаження, безумовно, все ще не має ефекту!
Легкий фуз

Намагалися чи ви зміни openв /bin/open(або ... which openрезультат)?
fedorqui

@reboot /usr/bin/open /Users/john/Kiosk/startup.commandце команда, яка працює, коли її кладуть прямо в термінал, але не при перезавантаженні
Mild Fuzz

Я додав більше запитання до цього питання, сподіваюся, це допоможе вам.
Легкий фузз


0

Шлях за замовчуванням є /usr/bin:/bin, і tildes дійсно працюють в crontab користувача, так що це має працювати:

*/10 * * * * bash ~/Kiosk/app/content/update.sh

Ви спробували замінити update.shщось, як команда say, щоб перевірити це?

@rebootпрацює для мене при повторному запуску , але не при вході, і назад. @reboot open /test.txtне працював , але * * * * * open /test.txtзробив.

Ви також можете зберегти такий список, як ~/Library/LaunchAgents/simplehttpserver.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>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>simplehttpserver</string>
    <key>ProgramArguments</key>
    <array>
        <string>python</string>
        <string>-m</string>
        <string>SimpleHTTPServer</string>
        <string>8000</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>WorkingDirectory</key>
    <string>/Users/john/Kiosk/app</string>
</dict>
</plist>

Його можна завантажувати launchctl load ~/Library/LaunchAgents/simplehttpserver.plistабо виходити та повертатись назад.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.