시스템 크론 작업을 어디에 둘 것인가?


11

시스템 수준에서 실행 되는 cronjob이 필요한 경우 (예 : 특정 사용자를 위해 특정되지 않은) cronjob 을 작성하려면 어떻게 제안합니까?

  1. crontab -e루트로 실행
  2. 그것을 추가 /etc/crontab
  3. cronjob을 정의하는 파일 만들기 /etc/cron.d/
  4. cronjob을 정의하는 파일 만들기 /etc/cron.*ly/(그러나 그러한 시간 간격이 내 요구에 맞는 경우에만)

내가 가장 걱정하는 것은 :이 솔루션들 중 어떤 것이 시스템 업데이트로 덮어 써질 것 입니까?

또한 작업이 길면 별도의 스크립트 파일 ( 예 : in)에 저장 해야한다고 생각합니다 /root/bin/. 동의하십니까?


3
사용중인 Unix 또는 Linux 배포판을 명시해야합니다.
jlliagre

나는 지금 막 배우고있다 :) 나는 그것이 독립적이고 독립적 인 행동이라고 생각했다.
푸르스름한

답변:


13

사용하지 마십시오 crontab -e

나는 그것을 crontab -e루트로 넣지 않을 것 입니다. 이것은 일반적으로 다른 관리자에게는 덜 분명하며 시간이 지남에 따라 길을 잃을 수 있습니다. 그것들을 넣으면 /etc/crontab원하는 시간을 정확하게 지정할 수 있으며 다른 사용자도 지정할 수 있습니다.

대체 위치

스크립트를 다른 사용자로 실행하는 것을 신경 쓰지 않고 스크립트를 매주, 매일 등으로 실행하려는 경우 여러 배포판에서 스크립트를 배치 할 수있는 디렉토리를 제공하여 특정 시간에 자동으로 처리됩니다.

예를 들어 Redhat 기반 배포판에서 :

$ ls -dl /etc/cron*
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.daily
-rw-------. 1 root root    0 Nov 23 07:42 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Nov 29 11:03 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.monthly
-rw-r--r--. 1 root root  457 Sep 26  2011 /etc/crontab
drwxr-xr-x. 2 root root 4096 Sep 26  2011 /etc/cron.weekly

나는 종종 내가의 특정 시간에 실행하도록 시스템 레벨 크론을 넣어 것 /etc/cron.d대신에 /etc/crontab그들은 더 복잡한 스크립트있어 특히.

/etc/cron*다른 시스템 관리자가 볼 수있는 훨씬 더 분명한 위치이기 때문에 디렉토리를 사용하는 것이 좋습니다. 여기에서 파일은 rpm및 / 또는와 같은 패키지 설치를 통해 관리 할 수 ​​있습니다 apt.

엔트리 보호

내가 언급 한 디렉토리 중 하나는 패키지 관리자에 의해 파괴되지 않는 스크립트를 넣도록 지정되었습니다. crontab 항목을 보호하는 데 관심이 있다면 /etc/crontab파일에 넣지 않고 대신 /etc/cron*디렉토리 중 하나에 적절한 스크립트로 넣습니다 .


1

# 4를 선택하겠습니다. 시스템 설정에서 작업 실행시기를 선택할 수 있으며 일반적으로 "바쁘지 않을 때 실행"을 수행합니다. 시스템 cron 스케줄러를 변경하면 스크립트 실행 시간에 자동으로 영향을줍니다.

단점은 그것이 실행될 때 직접 제어 할 수 없다는 것입니다. 보다 직접적인 제어가 필요하면 # 1을 사용하십시오.

1은 시스템 업데이트로 덮어 쓰기 가능성이 가장 낮습니다. 3과 4는 꽤 안전해야합니다. 그것은 모두 업데이트 방법에 달려 있습니다. 배포판은 원하는대로 업데이트 할 수 있지만 일반적으로 2 개만 덮어 쓰기의 위험이 있습니다.

마지막으로 스크립트를 / usr / local / bin에 넣습니다. 배포판의 패키지 관리자가 관리하지 않는 시스템 전체에 "일반적인"장소입니다. / root / bin은 루트 만 실행할 경우에도 허용됩니다. 그러나 이것은 대부분 맛입니다.


0

위의 모든 기능이 작동하며 업데이트로 위의 내용을 덮어 쓰면 안됩니다. 실제 선택은 의견에 달려 있습니다. 세 명의 다른 사람들은 세 가지의 다른 대답이 아니라면 적어도 두 명을 가질 것입니다.

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