왜 cronjobs가 잘못된 시간에 실행됩니까?


10

우분투 서버에서 매일 cronjobs를 실행하도록 설정했습니다.

예. 0 4 * * * 명령

그들은 8 시간 일찍 달리는 것을 제외하고는 달리고 있습니다. 서버를 설정할 때 원래 UTC 시간으로 설정되었습니다. 나는 도망 sudo dpkg-reconfigure tzdataUTC 뒤에 6시간입니다 CST에 서버를 설정할 수 있습니다. 흥미롭게도 UTC로 8 시간 뒤인 PST에 있지만 서버가 어떻게 알 수 있는지 알 수 없습니다.

명령을 실행하면 date시간이 CST로 표시됩니다.

시간이 잘못 구성된 곳이 있어야합니다. 이 문제를 어디에서 해결할 수 있습니까?

답변:


21

시간대를 변경 한 후 cron을 다시 시작한 것을 기억하십니까? 그렇지 않은 경우 cron은 원래 시작된 시점부터 여전히 표준 시간대에 대한 오래된 개념을 가질 수 있습니다.

꼭 필요한 것은 아니지만 표준 시간대를 변경 한 후 컴퓨터를 다시 부팅하는 것이 좋습니다. 서버의 표준 시간대는 절대 변경되지 않아야합니다 (또는 적어도 매우 드 물어야 함). 그러면 서버의 모든 프로그램이 다시 시작되고 변화에 대해 안다 :-)


아니요, 다시 시작하지 않았습니다. 나는 그것을했고 그것이 그것이 문제인지를 기다릴 것입니다.
매트 맥코믹

cron 서비스를 다시 시작하면 tzdata를 사용하여 설정 한 시간대와 동일한 시간에 실행됩니다. 감사.
Donny Kurnia

1
/ var / log / cron의 항목이 크론을 다시 시작한 후에도 시간이 잘못 표시되는 것을 알았습니다. rsyslog를 다시 시작하면 해당 문제가 해결되었습니다.
zymhan

@WildVelociraptor 예 syslog는 다시 시작할 때까지 이전 시간대 데이터를 사용합니다 (따라서 올바른 시간에 실행되고 있어도 타임 스탬프가 잘못됩니다). 시간대 데이터가 변경되기 전에 오래 실행되고 시작된 다른 항목도 비슷한 동작을 나타내므로 일반적으로 재부팅이 표시됩니다.
voretaq7

7

나를 위해, 나는 hwclock명령을 실행할 때 시간이 명령을 실행할 때와 다른 시간이라는 것을 알았습니다 date. 이 문제를 해결하려면 hwclock --systohc두 번 동기화하고 예상 시간에 cronjob을 실행하는 전화를 걸 수 있습니다 .


내 경우에는 모두 datehwclock동일한 시간을보고 있지만, 크론 아직도 내가 그것을 기대하는 것을하지 않습니다.
unfa

당신은 내 인생을 안전하게 지켜 주셔서 감사합니다. hwclock --systohc 님이 저를 위해 잘못된 날짜를 수정했습니다 =)
Marcus J.Kennedy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.