`/etc/crontab`, `/etc/cron.d/` 및 `/var/spool/cron/crontabs/root` 아래의 파일 간의 차이점은 무엇입니까?

`/etc/crontab`, `/etc/cron.d/` 및 `/var/spool/cron/crontabs/root` 아래의 파일 간의 차이점은 무엇입니까?

두 가지 목적의 차이점은 무엇입니까?

  • /etc/crontab
  • 파일 아래/etc/cron.d/
  • /var/spool/cron/crontabs/root

크론 작업을 추가하고 싶다면 어떤 파일에 추가하시겠습니까?

cron(8) 맨페이지에는 다음과 같은 내용이 있습니다.

/etc/cron.d/: 시스템 cronjob이 포함된 디렉터리다양한 사용자를 위한 저장.

"다른 사용자를 위한 스토어"란 무엇을 의미합니까? 와 비슷해 보입니다 /var/spool/cron/crontabs/.

https://unix.stackexchange.com/a/478581/674cron 매뉴얼 페이지에서 인용:

일반적으로 시스템 관리자는 /etc/cron.d/를 사용하지 말고 표준 시스템 crontab /etc/crontab을 사용해야 합니다.

시스템 관리자가 위치를 /etc/crontab, 또는 에 추가 해야 합니까 ?/etc/cron.d//var/spool/cron/crontabs/root

감사해요.

답변1

/etc/crontab"시스템" 작업의 역사적 위치입니다. 모든 시스템에서 반드시 사용되는 것은 아니며(예: RedHat 7 및 그 파생 제품에는 "빈" 항목이 있음) 호출 명령 cron.daily과 다른 시스템이 있을 수 있습니다.

/etc/cron.d/*본질적으로 동일 /etc/crontab하지만 별도의 파일로 구분됩니다. 이렇게 하면 패키지에서 새 cron 항목을 쉽게 추가할 수 있습니다. 해당 항목을 이 디렉터리에 넣기만 하면 됩니다.

예를 들어 CentOS 7에서는 다음과 같습니다.

% rpm -ql sysstat | grep cron
/etc/cron.d/sysstat

% sudo cat /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

이러한 항목이 의 항목과 일치하는 것을 볼 수 있습니다 /etc/crontab.

디자인하기 전에 cron.d스크립트를 작성해야 합니다.편집하다 /etc/crontab같은 일을 하면 더 힘들고 잘못될 수도 있습니다.

/var/spool/cron/crontabs그것은 명령 관리에 관한 것입니다 crontab.

그래서...

cron 작업이 패키지에 의해 배포되는 경우 패키지는 파일을 /etc/cron.d/.Enterprise 자동화 도구에 넣어야 합니다.

시스템 관리자(또는 다른 사용자)가 cron 작업을 추가하려는 경우 crontab -e해당 작업이 배치됩니다 ./var/spool/cron/crontabs/

관련 정보