OsX Crontab não tem efeito

0

Eu estou dinamicamente anexando tarefas do cron ao usuário crontab

As tarefas parecem estar ganhando, crontab -e se parece com:

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

O problema é que parece não ter efeito.

O conteúdo de startup.command:

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

O que estou errando?

    
por Mild Fuzz 14.06.2013 / 13:00

3 respostas

2

Não use caminhos relativos, mas completos. Também com binários.

Então, sua linha deve ser

*/10 * * * * /usr/bin/sh /home/<username>/Kiosk/app/content/update.sh
@reboot open /home/<username>/Kiosk/startup.command
    
por 14.06.2013 / 13:11
1

Pegar o comando aberto foi o truque

@reboot yourscript.command
    
por 14.06.2013 / 22:13
0

O caminho padrão é /usr/bin:/bin , e os tildes funcionam no crontab do usuário, então isso deve funcionar:

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

Você tentou substituir update.sh por algo como um comando say para testá-lo?

@reboot funciona para mim ao reiniciar, mas não ao sair e voltar. @reboot open /test.txt não funcionou, mas * * * * * open /test.txt o fez.

Você também pode salvar uma plist como ~/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>

Pode ser carregado com launchctl load ~/Library/LaunchAgents/simplehttpserver.plist ou efetuando logout e back in.

    
por 14.06.2013 / 16:37