Cron 작업 실행 간격은 1시간으로 시스템 시간과 완전히 일치하지 않습니다.

Cron 작업 실행 간격은 1시간으로 시스템 시간과 완전히 일치하지 않습니다.

질문 예:

* 9 * * * echo 9
* 10 * * * echo 10

위의 내용은 1분마다 사용자에게 이메일을 보내지만 모든 "9" 응답은 오전 10시 -> 오전 10시 59분에 발생하고 "10"은 오전 11시 -> 오전 11시 59분에 발생합니다.

일을 하다

* * * * * /bin/date ; /bin/date -u

예상되는(올바른) 날짜와 시간을 반환합니다. 이는 UTC와 현지 시간(미국/덴버) 모두에 해당됩니다. 매분마다 특정 시간에 실행되도록 이 작업을 변경하면 오프셋이 발생합니다(9시에 실행되는 작업을 10시에 실행하도록 지시하는 등).

지금까지 디버깅을 완료했습니다.

좋아, 이거 이상해. 어쩌면 내 시간대 파일이 약간 엉망이 된 것일까요? 확인해 보자

diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical

하드웨어 시계가 꺼져 있는지 또는 로컬 설정(루트로 실행)과 일치하지 않는지 확인했습니다.

date ; hwclock
Wed Oct 26 10:50:13 MDT 2016
Wed 26 Oct 2016 10:50:14 AM MDT  -0.204171 seconds

1초처럼 보이지만 이로 인해 내 cron 작업이 예정보다 1시간 더 길어지면 안 됩니다. 그렇죠?

나는 또한 다음을 믿습니다.

  • 내 시간대가 최근에 변경되었나요?아니요
  • 시간대를 수동으로 수정해 보셨나요?
  • 시간대 수정 후 cron을 재설정하셨나요?
  • 크론 서비스가 다시 시작되었나요?
  • 크론 서비스를 다시 시작했나요?
  • cron이 다시 시작되었습니까?100% 확신합니다. Cron이 다시 시작되었습니다.

관련될 수 있는 기타 정보:

데비안을 실행하세요.

cat /etc/debian_version
8.6

현재 커널

uname -a
Linux BigBox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux

디버깅 업데이트:

"hwclock --systohc"를 실행하면 동작에 눈에 띄는 변화가 없습니다. 이 명령을 실행하여 확인하세요.

date;hwclock
Wed Oct 26 12:39:09 MDT 2016
Wed 26 Oct 2016 12:39:11 PM MDT  -0.875328 seconds

파일이 존재하지 않기 때문에 "cat /etc/sysconfig/clock"을 실행할 수 없습니다. /etc/ 트리에서 find 명령을 실행하여 "시계"를 찾고 해당 이름을 가진 파일이 없는지 확인합니다.

내가 아는 것이 CRON_TZ 변수를 설정하는지 확인하십시오. 사용자 수준이나 루트 수준에서는 설정되지 않습니다. cron echo를 사용하면 출력이 제공되지 않습니다.

답변1

살펴볼 가치가 있는 또 다른 곳은 boot-time scripts cron또는 구식 시스템 crontab 파일입니다 /etc/crontab. TZ 환경 변수는 /etc/init.d/cronie또는 로 설정될 수 있습니다 /lib/systemd/system/crond.service. 데비안이 init 시스템에 무엇을 사용하는지 잘 모르겠습니다.

crond매 시간마다 실행 하려고 하면 다음과 같은 현상이 발생합니다.

0 */2 * * * /opt/dbms/rainstor/archiving/ama_term

crond이상한 시간에 스크립트를 실행합니다. 나는 이것이 일광 절약 시간제 혼란과 관련이 있다고 의심하지만 스스로 증명한 적이 없습니다.

관련 정보