cron.d (/etc/cron.d/에서와 같이)와 crontab의 차이점은 무엇입니까?


18

무엇 (같이 디렉토리 cron.d 사이의 주요 차이 /etc/cron.d/)와 crontab?

지금까지 내가 이해, 하나는 같은 파일을 만들 수 있습니다 /etc/cron.d/my_non_crontab_cronjobs하나에 넣어하는 것처럼, 그리고 그 안에 어떤 하나의 욕구를 넣어 crontab통해 crontab -e.

그렇다면이 둘의 주요 차이점은 무엇입니까?


시스템에서의 위치 및 형식.
Rui F Ribeiro

체재? 2 개의 예제에서 5 시간 단위 구문도 보았거나와 혼동하고 있습니다 crontab.
Arcticooling

답변:


24

차이는에 자세히 설명되어 있습니다 데비안한다. 가장 큰 차이점은 별도의 파일로 채워지는 반면 사용자 당 하나의 파일을 관리 한다는 것 입니다 . 따라서 스크립트 (자동 설치 및 업데이트 용)를 사용하여 컨텐츠 를 관리 하고 편집기 (최종 사용자 용)를 사용하여 관리하기가 더 쉽습니다 .cron(8)/etc/cron.dcrontab/etc/cron.dcrontab

다른 중요한 차이는 모든 배포판을 지원한다는 것이다 /etc/cron.d, 그리고 파일이 있음 /etc/cron.d(유효 cron 작업 인 이상) 요구 사항의 특정 번호를 충족해야한다 : 그들은 루트가 소유해야하며, 준수 없어야합니다 run-parts(이름 지정 규칙 ' 어떤 점을 만 문자, 숫자, 밑줄 및 하이픈).

당신이 사용을 고려하고 있다면 /etc/cron.d, 그것은 하나 고려 일반적 가치 /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, 또는 /etc/cron.monthly대신합니다.


1
실제 예제의 경우 항목 cron.d은 일반적으로 패키지 설치를 통해 추가되는 반면 다양한 crontab파일은 해당 사용자가 만든 항목으로 가득합니다. IE certbot또는 letsencrypt패키지는 항목을 넣 cron.d습니다. 패키지를 사용할 수 있기 전에 sysadmin (루트)은 루트 사용자 crontab가 쉘 스크립트 등을 가리키는 항목을 추가합니다 . 인증서를 최신 상태로 유지합니다.
Ivanivan

고마워 Stephen! 시간별 / 주별 / 월별 cron 디렉토리를 사용하는 것이 좋습니다. 그리고 BTW, 왜 cron (8)이라는 맨 페이지가 8입니까 (crontab (1)라는 crontab의 맨 페이지)는 무엇입니까?
Arcticooling

1
@Arcticooling, 볼 이 질문 의 대한 설명(8)
user4556274

시간별 디렉토리 등을 사용하면 작업을 추가하기가 더 쉬워지고 (정확한 구문을 알아낼 필요가 없음) 시스템이 실제 상황에 따라 실제 실행 시간을 변경할 수있게합니다. 이것은 항상 켜져 있지 않은 시스템에서 특히 유용합니다 anacron.
Stephen Kitt

1
hourly|daily|weekly|monthly디렉토리 의 단점은 (AFAICT), 항상 루트로 실행되며 더 적은 권한으로 실행하는 것을 직접 지원하지 않는다는 것입니다.
ilkkachu

5

나는 큰 차이점은 분명 하나입니다 말할 것입니다 : /etc/crontab/etc/cron.d의 사용자 별 크론 탭 반면, 일반 사용자가 수정할 수 없습니다 /var/spool/croncrontab도구의 편집이 있습니다. ( 물론 cron.allowcron.deny에 종 속됨) 물론 관리자 인 시스템에서는 둘 중 하나를 사용할 수 있습니다. 공유 시스템에서 일반 사용자는 하나만 사용할 수 있습니다.

이와 관련하여 시스템 전체 파일의 추가 필드, 작업이 실행되는 사용자 이름입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.