Estoy intentando configurar una tarea cron para reiniciar los dispositivos diariamente. Con una devolución de llamada segura a un reinicio de SysRq si por alguna razón el reinicio se bloquea (el problema es que SSH se desactiva y el dispositivo nunca se reinicia, por lo que se pierde y requiere una costosa intervención humana para reiniciar).
El script que solía funcionar por un tiempo:
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
Sin embargo, es bastante brutal (reinicio completo -f) y algunos de nuestros dispositivos no se recuperaron recientemente (un par de miles cada día).
No estoy seguro de qué se bloquea (parece que el archivo nunca se escribe, por lo que diría que se bloquea el reinicio o el eco).
Estaba buscando usar símbolos y nunca "bloquear" y asegurarme de que eventualmente se realice un reinicio adecuado, sin embargo, no parece funcionar en absoluto (no más reinicios):
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
¿Puedo usar el signo comercial en un script cron? ¿Conoce otra forma más inteligente de lograr los resultados deseados? ¡Gracias!