질문 예:
* 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
이상한 시간에 스크립트를 실행합니다. 나는 이것이 일광 절약 시간제 혼란과 관련이 있다고 의심하지만 스스로 증명한 적이 없습니다.