programa de tela inicial com crontab @reboot

-1

Eu tento iniciar um start.sh na reinicialização com o crontab. Mas nada acontece após a reinicialização, e o log não tem erro. Alguém sabe o que eu fiz de errado? Para o teste eu dei o start.sh e Mod.jar a permissão 777, mas ainda nada depois de uma reinicialização. Se eu iniciar o start.sh manualmente logado como otto, tudo está ok e o Mod.jar é iniciado após os 60 segundos.

Conteúdo do crontab -e (como usuário Otto)

@reboot               ./home/otto/server/start.sh

Conteúdo do start.sh

sleep 60
/usr/bin/screen -d -m -S mod java -mx100M -jar /home/otto/server/Mod.jar

O log do Cron está sem erro.

May  1 12:12:02 srv1 /USR/SBIN/CRON[1881]: (otto) CMD (./home/otto/server/start.sh)
    
por DennisF 01.05.2016 / 19:36

1 resposta

0

Bem-vindo à AU!

Isto parece ser um caso de exibição (ou stdout ) não ser corretamente identificado pelo ambiente cron do usuário do yr (como é normalmente o caso de todos os aplicativos gui). Você encontrará muitas perguntas e respostas sobre esse assunto no AU e no StackExchange em geral.

Solução:
No crontab do usuário otto , modifique a entrada de trabalho do ano para que ele leia:

@reboot   DISPLAY=:0 /home/otto/server/start.sh

Nota:
Eu suprimi o espúrio . na frente de sua invocação de script totalmente qualificada. Caminhos absolutos são necessários em scripts ou programas sendo chamados pelo cron; eles sempre começam com / .

    
por Cbhihe 02.05.2016 / 08:47