시스템 Crontab 또는 루트 Crontab

시스템 Crontab 또는 루트 Crontab

시스템 예약 작업:

/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은 변경되지 않고 패키지에 의해 관리되어야 합니다.

관련 정보