시작 시 무언가를 실행하고 cron을 사용하여 다시 시작을 트리거하고 싶습니다.
거기에서 sudo crontab -e
명령을 사용하고 추가하고 있습니다 . 이 명령은 다시 시작하는 것과 관련이 없습니다. 다시 시작하는 것이 항상 발생하는 것은 아닙니다. 매일 새벽 4시에 다시 시작하고 싶습니다. 내가 추가한 줄은 다음과 같습니다.
00 4 * * * root /sbin/shutdown -r now >> /var/log/daily-backup.log 2>&1
이제 대신 재부팅하도록 수정했는데 /etc/crontab
작동하는 것 같습니다. 왜 이런거야? 명령이 루트로 실행되므로 crontab -e가 작동하면 안 되나요?
답변1
이렇게 하면 crontab -e
수정됩니다.사용자당cron 항목은 일반적으로 /var/spool/cron/crontabs/$USERNAME
.
이는 각 사용자를 위한 것이므로 사용자 이름이 필요하지 않습니다.
그래서 항목은 다음과 같습니다
00 4 * * * /sbin/shutdown -r now >> /var/log/daily-backup.log 2>&1
대신 /etc/crontab
(및 의 파일 /etc/cron.d/
)은 시스템 crontab 항목이므로 사용자 이름이 필요합니다.
(Debian, RedHat) 을 cron
보면 무슨 일이 일어나고 있는지 확인할 수 있습니다 . 작업이 호출되면...라는 줄이 있어야 합니다. 이는 아마도 "루트" 명령을 찾을 수 없다는 의미일 것입니다./var/log/syslog
/var/log/cron
daily-backup.log