사용자 사양에 따라 크론 작업을 추가하는 스크립트를 만들었지 만 매번 크론을 새로 고쳐야하므로 작동하지 않습니다. crontab에 작업을 추가합니다. 프로세스를 종료하지 않고 cron을 새로 고치는 방법이 있습니까?

Answer

스크립트는 crontab를 사용하여 사용자에 대한 작업 사양을 추가 및 삭제하므로 cron 데몬을 다시 시작할 필요가 없습니다.

AIX 7.1 cron 매뉴얼 페이지 :

변경할 때 crontab 명령을 사용하여 crontab 파일에 추가하면 변경 사항이 cron 데몬으로 전송된다는 메시지가 표시됩니다.

crontab 매뉴얼 도 참조하세요.

스크립트가 수행하는 일반적인 작업 흐름 take :

  1. crontab -l >crontab.txt.
  2. 작업 사양을 추가, 제거 또는 변경하여 텍스트 파일을 조작합니다.
  3. 다음을 사용하여 새 사양으로 사용자의 crontab을로드합니다. crontab crontab.txt.

첫 번째와 마지막 단계의 명령은 사용자로 실행해야합니다 (첫 번째 단계는 crontab -l username >crontab.txt 예 : 루트).

cron를 사용하는 모든 Unix에서 작동합니다.

댓글

  • 기존 일자리가 있으면 어떻게합니까? crontab에로드하기 전에 먼저 동일한 텍스트 파일에 넣은 다음 새 작업을 추가해야합니까?
  • @Shan 앞서 언급했듯이 사용자에 대한 현재 crontab을 가져온 다음 수정합니다. 다시로드하기 전에. 예, crontab -l에서 생성 한 파일에 새 작업을 추가합니다.

Answer

AIX 7.1 cron 매뉴얼 페이지 내용 :

cron 데몬은 활성화 될 때와 중단 신호를받을 때 구성 파일을 읽습니다.

그러므로 kill -HUP cron_pid해야합니다.

댓글

  • 이미 시도했지만 프로세스를 종료하지 않고 구성을 새로 고치고 싶습니다.
  • @Shan kill 명령은 프로세스에 신호를 보냅니다. 일반적으로 프로세스는 신호를 수신하여 죽을 수 있습니다. 그러나 cron 프로세스의 경우 신호를 처리하고 죽지 않고 구성을 다시 읽습니다.
  • 인용 한 맨 페이지의 부분은 다음과 같습니다. crontab 파일 자체가 아니라 cron '의 구성 파일 , /etc/cronlog.conf를 참조합니다.
  • 나는 이것을이 질문에 대한 답변으로 만들 수 없습니다. crontab 파일과 HUP cron을 수동으로 편집하면 새 cron 작업이 실행되지 않습니다.
  • @JeffSchaller가 맞습니다. Kusalananda가 제안한대로 -9 cron_pid를 죽이거나 crontab 파일에서 crontab을 사용해야합니다. 다른 답변에서 crontab을 다시로드하십시오.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다