한 명의 사용자를위한 여러 crontab


13

한 사용자에 대해 여러 crontab 파일을 사용하는 방법이 있습니까? 사용자 당 crontab 대신 프로젝트 당 crontab 파일 라인을 따라 무언가를 생각하십시오 ...

어떤 도움을 주셔서 감사합니다 ...

답변:


13

어쨌든 crontab을 별도의 파일로 유지하고로 설치하는 것이 좋습니다 crontab filename. (crontab 파일을 소스 제어 시스템에 보관합니다.)

crontab 파일이 여러 개있을 수 있습니다.

cat file1 file2 file3 | crontab

crontab명령은 일반적으로 사용자 당 하나의 crontab 만 관리합니다. 그러나 시스템 crontab 파일을 /etc/cron.d디렉토리에 추가 할 수 있습니다 . 이러한 파일에는 시간 지정 이후 작업에 대한 사용자를 나타내는 추가 필드가 있으며 사용자 당 여러 파일을 가질 수 있습니다. 그들 중 하나가 구문 오류가 있더라도 다른 것들은 여전히 ​​실행됩니다.

해당 디렉토리에 파일을 설치하려면 루트 액세스 권한이 필요합니다.

man 5 crontab 자세한 내용은.

나는 이와 같은 일반적인 crontab 메커니즘을 피하는 것이 좋은 생각이라고 확신하지는 않지만 작동해야합니다.

(이것은 아마도 "Vixie Cron"구현을 가정합니다. 아마도 여러분의 시스템이 사용하는 것입니다.)

참고 : 시도하고 싶을 수도 있습니다

crontab file1 file2 file3 # WRONG

그러나 빠른 실험에 따르면 첫 번째 파일을 제외한 모든 파일 이름은 자동으로 무시됩니다. 매뉴얼 페이지에는 단일 파일 이름이 허용되지만 여러 파일 이름이 제공되면 어떻게되는지 말하지 않습니다.


나는 오늘 그것을했다. 그렇게하기는 쉽지만 이것의 목표는 각 프로젝트 "관리자"가 자신의 crontab을 제어 할 수 있다는 것입니다. 이 접근 방식을 사용하면 누군가 파일 중 하나를 변경할 때마다 컴파일해야하는 모든 파일을 추적해야합니다.

1
따라서 자동화 할 프로그램 (또는 스크립트 등)을 만드십시오. crontabcrontab 항목에서 명령을 호출 할 수 있습니다 .
Keith Thompson

1
@MateuszKonieczny : 그럴만 한 이유가 있지만 실수로 crontab을 지우는 것도 쉽습니다. crontab인수없이 stdin에서 새 crontab을 읽습니다.
Keith Thompson

1
@MateuszKonieczny : 아니요, 그냥 CVS 저장소에 보관하고 $HOME업데이트 할 때 복사 합니다. (이 작업을 시작했을 때 Git이 없었기 때문에 CVS를 사용합니다.)
Keith Thompson

1
@KeithThompson 아, 맙소사! github.com/barrycarter/bcapps/blob/master/FEDORA : 진화 또는 그놈없이 "스크래치"에서 Fedora Core 24를 실행하는 데 도움이되는 문서를 작성 중입니다. 그리고 cron 파일의 일부를 공유하고 싶지는 않았습니다. 귀하의 솔루션 (GIT 디렉토리에 bc-public-cron을 작성하고 외부에 bc-private-cron을 작성)은 청구서에 잘 맞습니다.
barrycarter

4

왜 그렇게하겠습니까? crontab에서 여러 줄을 사용할 수 있습니다-그 일도 할 것이라고 생각합니다.

사용할 수있는 디렉토리도 있습니다.

cron.d/
cron.daily/
cron.hourly/
cron.monthly/
cron.weekly/

그게 지금이야 :) 난 그냥 방법이 있는지 알고 싶습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.