두 가지 목적의 차이점은 무엇입니까?
/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/