주어진 시간에 매일 재부팅하도록 Ubuntu를 어떻게 구성합니까? 통해 자동 재부팅을 예약하고

터미널이나 bash 파일을 사용하여 매일 오전 3시에 예를 들어 Ubuntu를 재부팅하도록 구성하려면 어떻게해야합니까?

즉, 터미널을 통해 자동 재부팅을 예약하고 싶습니다.

Google 또는 AskUbuntu에서 이와 관련된 내용을 찾을 수 없었으며 Ubuntu를 처음 접했습니다 (새로운 Raspberry Pi를 얻었습니다).



답변

crontab -e명령을 사용하여 crontab 항목을 편집하고 (기본적으로 현재 로그인 한 사용자 crontab이 편집 됨) 다음 행을 추가하십시오.

0 3 * * * echo $PASSWD | sudo -S reboot
#change $PASSWD with your password

파일을 저장하고로 새 crontab 항목을 확인하십시오 crontab -l.

당신이 사용하려는 경우 :

0 3 * * * sudo reboot

crontab으로, 이것은 정상적으로 작동하지 않으므로 어떻게 작동하는지 확인하려면 이 게시물 을 확인해야 합니다.

또는 crontab을 루트 사용자의 crontab 파일에 추가 reboot하여 sudo crontab -e다음을 사용 하여 명령 의 전체 경로를 제공하십시오 .

0 3 * * * /sbin/reboot

답변

일반 텍스트 암호를 텍스트 파일에 넣는 것은 좋지 않으므로이 작업을 처음부터 루트로 실행하는 것이 가장 좋습니다. 일반적으로 crontab명령을 통해 루트의 crontab을 편집하는 대신 항목을 /var/spool/cron/crontabs다소 비밀스러운 위치 에 남겨 두는 대신에 명시 적으로 입력하는 것을 선호합니다 /etc/cron.d. cron.d의 항목은 시스템 crontab 항목으로 실행되며 구성 파일로 처리되므로 시스템 재부팅, 업데이트 및 업그레이드 후에도 실행되며 명시 적으로 실행중인 사용자를 지정할 수 있습니다.

echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am

특정 시간이 필요하지 않고 시스템을 매일 한 번 재부팅하려면 실행 파일이나 스크립트를 추가하면 /etc/cron.daily미리 지정된 시간에 자동으로 실행됩니다 (기본적으로 오전 6시 25 분 시스템 시간).

echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me

경고없이 시스템을 재부팅하는 대신 5 분 경고를 설정하고 있으므로 누군가가 로그인하면 작업을 저장하거나 시스템을 중단 sudo shutdown -c하지 않고 작업을 중단 할 수 있습니다. 그들 아래에서 떨어져. 더 많은 경고를 원할 경우이를 적절하게 조정할 수 있습니다 (예 : shutdown -h 60오전 2:00에 명령을 사용 하고 실행하면 사용자에게 1 시간 동안 경고를 줄 수 있습니다).

이것은 나의 과거 경험을 바탕으로합니다. 어떤 시점에서 당신이 때의 crontab 항목을 실행 작업에 로그인하고, 그냥 경고없이 재부팅하면 당신은 매우 슬픈 팬더 수 있습니다.


답변

왜 원하는가-아니면 이것을 해야 합니까? 작업이 매우 간단하지만 재부팅이 필요없는 Linux에는 더 나은 솔루션이 있습니다. Windows와 달리 Linux 기반 OS는 커널 업그레이드를 제외하고는 거의 재부팅 할 필요가 없습니다.

당신이 달성하려는 것을 설명한다면 우리는 아마 당신을 더 잘 도울 수 있습니다.