Cron işleri, sistem süreleriyle tamamen uyuşmamak kaydıyla 1 saat çalışmaktadır


9

Sorun örneği:

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

Yukarıdaki bilgiler kullanıcıya her dakika bir e-posta gönderir, ancak tüm "9" yanıtları 10:00 -> 10:59 AM arasında gerçekleşirken, "10" ler 11:00 -> 11:59 AM arasında gerçekleşir. .

İşini yürütmek

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

Beklenen (doğru) tarih ve saati döndürdü. bu hem UTC hem de yerel saat için geçerliydi (America / Denver). Bu işi, belirli bir saatte her dakika çalışacak şekilde değiştirin, ofsetle sonuçlanır (işler 9'da 10'da çalıştırılması söylenir, vb.).

Tamamladığım geçerli hata ayıklama:

Tamam, bu çok garip. Belki saat dilim dosyam bir şekilde dağılmış olabilir? Kontrol edelim

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

Donanım saatini kontrol ettim, bunun kapalı olup olmadığını veya bir şekilde yerel ayarlarıma (kök olarak çalıştır) katılmadığını kontrol ettim.

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

Sanýrým bir saniyeliđine çalýţýyor, ama bu cron iţlerimin tam bir saatlik bir iţe yarýţmasýný yapmamalý deđil mi?

Ayrıca aşağıdakilerden de eminim:

  • Saat dilimim yakın zamanda değişti mi? Hayır
  • Zaten saat dilimini manuel olarak düzeltmeyi denediniz mi? Evet
  • Saat dilimini düzelttikten sonra cron'u sıfırladınız mı? Evet
  • Cron hizmetinin yeniden başlatıldığından emin oldum mu? Evet
  • Cron hizmetini yeniden başlattım mı? Evet
  • Cron'un yeniden başlatıldığından gerçekten emin misiniz? % 100 emin Cron yeniden başlatıldı

Potansiyel olarak alakalı diğer bilgiler:

Debian çalışıyor.

cat /etc/debian_version
8.6

Mevcut Çekirdek

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

Güncellenmiş Hata Ayıklama:

'Hwclock --systohc' koştu, davranışta gözle görülür değişiklikler değil. Kontrol etmek için bu komutu çalıştır

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

Bu dosya mevcut olmadığından 'cat / etc / sysconfig / clock' komutunu çalıştıramıyorum. 'Saat' bulmak için / etc / tree altında bir find komutu çalıştırmak, bu adla o dosyaya sahip olmadığımı doğrular.

Farkında olduğum bir şeyin CRON_TZ değişkenini ayarlayıp ayarlamadığını kontrol ettim. Kullanıcı düzeyinde veya kök düzeyinde ayarlanmaz. Onları cron yankı var çıktı vermez.


1
Is CRON_TZenv var her yerde hazır mı?
17'de thrig

hwclock --systohcsadece tamlık için deneyin ve cat /etc/sysconfig/clocksoru ekleyin ?
steve

Her iki öneri de bilgilerime eklendi, ne yazık ki hiçbiri değer sağladı. CRON_TZ görebildiğim hiçbir ortamda ayarlanmadı, hwclock'u yeniden senkronize etmek eskisi gibi aynı sonuçları verdi (değişip değişmediğini görmek için yine de kontrol edildi) ve bir '/ etc / sysconfig / clock'um yok ' dosya.
jmurrayufo

Yanıtlar:


1

Bakmak için bir yer daha: önyükleme için başlangıç ​​komut dosyaları cronveya eski okul sistemi crontab dosyası /etc/crontab. TZ ortam değişkeninin, örneğin, /etc/init.d/cronieveya/lib/systemd/system/crond.service emin init sistemi için neler Debian kullanımlarını değilim.

crondHer saat başı bir şeyler yapmaya çalıştığımda şöyle bir şey gördüm :

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

crondsenaryoyu tek sayılı saatlerde çalıştırdı. Gün ışığından yararlanma saati karışıklığıyla ilgili olduğundan şüphelendim, ancak kendime hiçbir zaman kanıtlamadım.


/etc/init.d/cron /etc/timezonedosyayı alıyor. TZ = cat /etc/timezone. Bu dosya doğru gibi görünüyor (Sadece ne olması gerektiği ile aynı olduğundan emin olmak için bir sağlama toplamı çalıştırın.). /lib/systemd/system/crond.service herhangi bir TZ değişkenini değiştirmek istemiyor gibi görünüyor. Aynı şeyi görüp görmediğimi görmek için * / 2 önerisini kontrol edeceğim.
jmurrayufo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.