매일 장치를 재부팅하도록 크론 작업을 설정하려고 합니다. 어떤 이유로 재부팅이 중단되면 SysRq 재설정을 다시 호출하는 것이 안전합니다(문제는 SSH가 종료되고 장치가 재부팅되지 않으므로 손실되고 재부팅하려면 값비싼 수동 개입이 필요하다는 것입니다).
한동안 실행된 스크립트:
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
그러나 이는 매우 잔인하며(하드 재부팅 -f) 일부 장치는 최근(하루에 수천 개) 복구되지 않았습니다.
무엇이 걸려 있는지 잘 모르겠습니다(파일이 전혀 기록되지 않은 것 같아서 재부팅 자체이거나 에코가 중단된 것이라고 말하고 싶습니다.
앰퍼샌드를 사용하여 절대 "잠금"하지 않고 결국 적절한 재설정이 이루어지길 바랐지만 전혀 작동하지 않는 것 같습니다(더 이상 재부팅하지 않음).
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
cron 스크립트에서 & 기호를 사용할 수 있나요? 원하는 결과를 얻는 또 다른 더 현명한 방법을 알고 계십니까? 감사해요!