Estou tentando configurar um cron job para reinicializar dispositivos diariamente. Com um retorno de chamada seguro para uma redefinição do SysRq se, por algum motivo, a reinicialização travar (o problema é que o SSH é encerrado e o dispositivo nunca é reinicializado, por isso é perdido e requer intervenção humana dispendiosa para reiniciar).
O script que funcionou por um tempo:
5 5 * * * root /sbin/reboot -f; sleep 30; /bin/echo `date -u +'\%Y-\%m-\%dT\%H:\%M:\%SZ'` >> /var/log/player-reboot.error.log; echo 1 > /proc/sys/kernel/sysrq; sync; echo b > /proc/sysrq-trigger
No entanto, é bastante brutal (reinicialização forçada -f) e alguns de nossos dispositivos não se recuperaram recentemente (alguns mais de milhares todos os dias).
Não tenho certeza do que trava (parece que o arquivo nunca foi gravado, então eu diria que a reinicialização em si ou o eco trava?
Estava procurando usar e comercial e nunca "travar" e ter certeza de que uma redefinição adequada acontecerá eventualmente, no entanto, parece não funcionar (não há mais reinicializações):
5 5 * * * root /sbin/shutdown -r +2 &; sleep 240; /bin/echo `date -u +'\%Y-\%m-\%dT\%H:\%M:\%SZ'` >> /var/log/player-reboot.error.log &; echo 1 > /proc/sys/kernel/sysrq; sleep 1; echo b > /proc/sysrq-trigger
Posso usar o e comercial em um script cron? Você conhece outra maneira mais inteligente de alcançar os resultados desejados? Obrigado!