
설정
/etc/cron.hourly/msm-hourly
다음을 포함하는 스크립트가 있습니다 .
#!/bin/sh
LOGPATH='/opt/msm/servers/cronscripts'
LOGFILE="$LOGPATH/msm-start.log"
# Make restart dead servers
echo "" >> $LOGFILE && /bin/date >> $LOGFILE && /etc/init.d/msm start >> $LOGFILE
매시간:
- 로그 파일에 새 줄을 만듭니다.
- 날짜를 추가하세요
msm start
그런 다음 명령 의 출력
효과가있다명령줄에서 실행게다가이내에/etc/cron.daily/
문제
명령줄에서 실행하면 출력은 다음과 같습니다.
[ msm-hourly.log ]
Thu Sep 12 20:56:51 UTC 2013
[ACTIVE] Server already started.
그러나 잠시 동안 실행한 후 각 반복의 출력은 다음과 같습니다.
[ msm-hourly.log ]
Thu Sep 12 20:56:51 UTC 2013
[ACTIVE] Server already started.
Thu Sep 12 21:01:02 UTC 2013
Thu Sep 12 21:01:02 UTC 2013
Thu Sep 12 21:01:02 UTC 2013
Thu Sep 12 21:01:02 UTC 2013
Thu Sep 12 21:01:02 UTC 2013
Thu Sep 12 21:01:02 UTC 2013
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
다음의 출력은 다음과 같습니다 /var/logs/cron
.
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19497]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19498]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19522]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19541]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19549]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19565]: starting msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20166]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20182]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20243]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20288]: finished msm-hourly
Sep 12 21:01:04 server run-parts(/etc/cron.hourly)[20310]: finished msm-hourly
Sep 12 21:01:04 server run-parts(/etc/cron.hourly)[20315]: finished msm-hourly
질문
/etc/init.d/crond reload
및/또는 뒤에 오는 스크립트를 교체하고 재작업하려고 시도했습니다 /etc/init.d/crond restart
.
오류 없이 다시 시작되고 스크립트는 매시간마다 실행됩니다. 모든 추가 줄만 있으면 됩니다.
무슨 일이 일어나고 있는지 더 잘 이해하고 msm-hourly가 시간당 한 번만 실행되도록 수정하려면 어떻게 해야 합니까?
답변1
/etc/crontab
에 대한 행이 cron.hourly
아래의 행과 유사하고(분 필드에만 숫자가 있고 나머지는 별표라는 점에 특히 주의) 한 번만 나타나는지 확인하십시오 .
17 * * * * root cd / && run-parts --report /etc/cron.hourly
또한 사용자(또는 루트)를 포함하여 다른 크론탭에 스크립트(또는 /etc/cron.hourly)가 입력되지 않았는지 확인하고 여러 복사본(백업)이 /etc/cron.hourly
.
스크립트의 마지막 줄은 다음과 같이 단순화될 수 있습니다.
{ echo && /bin/date && /etc/init.d/msm start; } >> $LOGFILE
또한 참조하시기 바랍니다공정 관리.