crontab -e와 /etc/crontab을 사용하는 것의 차이점은 무엇입니까

crontab -e와 /etc/crontab을 사용하는 것의 차이점은 무엇입니까

시작 시 무언가를 실행하고 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/crondaily-backup.log

관련 정보