스크립트를 사용하여 크론 작업 이름 편집

스크립트를 사용하여 크론 작업 이름 편집

호스트 목록에서 cron 작업 이름을 편집해야 합니다. 호스트 수를 고려하여 cron 작업 이름을 편집하는 스크립트가 있습니까?

예: /var/spool/cron다음 크론 작업이 있습니다.

00 * * * * /home/app2/limit_proc_status_2048.sh >> /export/home/app2/limit_proc_status.txt

십진수 2048을 4096으로 편집하는 스크립트를 찾아야 합니다.

답변1

crontab 항목(계획 및 명령이며 이름이 없음)을 수정하려면 다음을 수행해야 합니다.

  1. 현재 crontab을 파일로 덤프
  2. 파일 수정
  3. 파일에서 crontab 다시 로드

첫 번째 단계와 마지막 단계를 완료할 수 있습니다.

crontab -l >crontab.old

그리고

crontab crontab.new

다음과 같은 파일에서 crontab을 로드하는 것에 유의하세요.바꾸다현재 사용자에 대한 모든 기존 crontab 항목.

이 두 작업 사이에 발생하는 수정은 간단한 sed대체일 수 있습니다.

sed 's/limit_proc_status_2048\.sh/limit_proc_status_4096.sh/' crontab.old >crontab.new

대체 패턴은 파일에서 해당 행만 수정되도록 충분히 구체적이어야 합니다.

문제가 발생할 경우를 대비해 crontab.old두 가지를 모두 보관하는 것이 가장 좋습니다 .crontab.new


작업을 더 쉽게 수정하려면 일반적으로 작업을 실행하는 스크립트를 예약하는 것이 가장 좋습니다. 귀하의 경우 crontab이 스크립트를 호출하여 로그 파일 등으로 리디렉션을 호출하고 예약하는 경우 limit_proc_status_2048.sh시간을 전혀 낭비할 필요가 없습니다. crontab변경해야 할 유일한 것은 스크립트입니다.

이는 실행하기 전에 추가 논리와 설정이 필요한 작업이나 단순히 복잡한 명령이 포함된 작업의 경우 특히 그렇습니다. (저는 일반적으로 단일 간단한 명령보다 긴 스크립트를 작성하고 대신 예약합니다.) .

관련 정보