Crond yaz saati +1 saat değişikliği yapar mı?


16

Geçen hafta sonu saati 02:00 ile 03:00 arasında değiştirmek zorunda kaldık.

Soru: 02: 30'da bir cronjob olsaydı ne olurdu?

crond zamanlama için çok eski bir çözümdür, muhtemelen ele almalıdır, ama nasıl olduğunu bilmiyorum.

Yanıtlar:


18

Muhtemelen cron uygulamanıza bağlıdır, ancak popüler Vixie cron kılavuzda belirtilmiştir:

cron daha sonra her dakika uyanır, depolanan tüm crontabları inceler ve her bir komutun geçerli dakikada çalıştırılıp çalıştırılmayacağını kontrol eder.

ve

Saat, örneğin yaz saati uygulamasının başlangıcında ve sonunda, 3 saatten daha az bir süre için değiştirildiğinde özel hususlar vardır. Zaman ileriye taşındıysa, atlanan zamanda çalıştırılacak olan işler değişiklikten hemen sonra çalıştırılacaktır. Tersine, süre 3 saatten daha az bir süre geriye taşındıysa, tekrarlanan süreye düşen işler yeniden çalıştırılmaz.

Yalnızca belirli bir zamanda çalışan işler (@hourly olarak veya saat veya dakika belirticisinde '*' ile belirtilmez) etkilenir. Joker karakterlerle belirtilen işler hemen yeni zamana göre yürütülür.

DST değişikliği 3 saatten az olduğu için programınız saat 03: 00'den kısa bir süre sonra çalışır

Bu Vixie cron'a özgü davranış olup olmadığından emin değilim, PDP-11'imin 80'lerde de nasıl çalıştığını hatırlıyorum ama emin değilim.


2
Vay, 80'lerden bilgi - Şapkalar kapalı!
Isaac

genel kural: yılda bir kez o saat aralığındaki crons'larınız çalışmaz. yılda bir kez, crons iki kez çalışır. sonuç: bu her zaman doğru değildir. related: yerel saat dilimlerini kullanmayı bırak!
tedder42

@ tedder42 lütfen referanslar sağlayın, talepleriniz cron'un hem dokümantasyonu hem de gerçek davranışıyla çelişiyor.
Anthon


Bu fıkra vakası, sabah 2 ile akşam 3 arasında atıfta bulunur ve soruyla hiçbir ilgisi yoktur (bu, 2:30 anlamına gelir). Referanslarınız ilginç (eski) bir davranış olabilir, benim deneyimimle uyuşmuyor. Ve bir saat dilimi olmadan bir sunucu çalıştırmanın kendi sorunları vardır.
Anthon

2

En iyi çözüm, bilgisayarınızın donanım saati UTC, (Eşgüdümlü Evrensel Saat), AKA GMT veya Zulu Saati olarak ayarlanmış olarak çalışmasını sağlamak ve yalnızca Gün Işığından Tasarrufa izin vermek için yerel saat dilimini ayarlayarak saatin görüntülenme şeklini değiştirmek. devralma zamanı.

SUSE Linux ve muhtemelen diğerlerinin çoğunda, Donanım Saat Sistemi -> Ortam -> Saat -> HWCLOCK , -u bayrağıyla UTC olarak ayarlanmışsa ve saat diliminiz, sistemin bulunduğunuz yere otomatik olarak yerel saatleri görüntüleyecek şekilde ayarlanırsa sizin için DST düzeltmeleri ile.

Bunun bir takım avantajları vardır:

  • DST değişikliklerinin saatini bir daha asla manuel olarak ayarlamanız gerekmeyecek
  • CRON sekmeleri UTC saatlerinde saklanır ve yürütülür
  • Bir dosya, örneğin bir günlük, DST sonundan önce 01: 30'da, diğeri DST sonundan sonra 01: 20'de yazılırsa, dosya zaman damgaları UTC ve görüntüleme saatindeki geçerli saat dilimine göre görüntüleme için çevrildi.

Daha fazla bilgi man hwclockiçin bir terminal yazın.


2
Küçük bir nitpick. UTC "Evrensel Zaman Sabiti" değildir. UTC, Eşgüdümlü Evrensel Zaman anlamına gelir
fpmurphy
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.