시스템 예약 작업:
/etc/crontab
루트 크론탭:
sudo crontab -u root -e
어떤 방법이 선호되나요? 왜냐하면 모두 관리 권한 내에서 작업을 실행하기 때문입니다.
답변1
/etc/crontab
시스템 전체의 crontab입니다.
형식은 /etc/crontab
다음과 같습니다.
# m h dom mon dow user command
* * * * * someuser echo 'foo'
사용자별 이지만 매개변수가 없는 crontab 명령은 현재 사용자의 crontab으로 이동한다는 crontab -e
점을 언급할 가치가 있습니다 . 특정 사용자의 crontab을 편집 -u
할 수 있습니다 .crontab -e -u <username>
사용자별 crontab에는 "user" 필드가 없습니다.
# m h dom mon dow command
* * * * * echo 'foo'
crontab의 잠재적으로 혼란스러운 측면 중 하나는 루트에도 자체 crontab이 있다는 것입니다. 예를 들어 crontab -e -u root
편집할 수 없습니다 /etc/crontab
.예약된 작업 구성.
Linux 배포판에서 각 사용자의 crontab은 일반적으로 다음 위치에 저장됩니다./var/spool/crontabs/<username>
인용하다
https://superuser.com/questions/290093/difference-Between-etc-crontab-and-crontab-e
답변2
/etc/cron.d(및 그 형제 cron.daily/weekly/monthly)는 모든 시스템에서 선호되는 crontab입니다. /etc/crontab을 건드릴 필요가 없습니다.
트랜잭션을 관리하거나 자동화하려는 경우 기능에 따라 여러 파일의 cron 항목을 분리해야 합니다. /etc/cron.d 아래의 파일은 Puppet 및 Chef와 같은 패키지 또는 구성 관리 도구를 통해 쉽게 관리할 수 있습니다. Root의 crontab OTOH는 실제로 인간 이외의 다른 사람이 유지 관리할 수 없습니다.
간단히 말해서, 시스템 관련 작업에는 /etc/cron.*을 사용합니다. 루트 사용자가 특정 작업을 수행하도록 하려면 루트의 crontab을 사용하십시오. /etc/crontab은 변경되지 않고 패키지에 의해 관리되어야 합니다.