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
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?
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
Pegar o comando aberto foi o truque
@reboot yourscript.command
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.