Linux'ta NTP'nin sistem saatini ayarlayıp ayarlamadığını nasıl kontrol edebilirim?


18

Çalıştığım bazı gerçek zamanlı şeylerle ilgili bazı sorunlar yaşayan bir makinem var. Sahip olduğum bir ipucu, NTP arka plan programının zamanı değiştirmiş olması ve yanlış zaman aşımlarına neden olmasıdır.

NTP arka plan programının gerçekten zaman geçirip geçirmediğini nasıl öğrenebilirim? Herhangi bir günlük var mı? / Var / log / messages içinde NTP arka plan programı yeniden başlatıldığını görüyorum, ancak zaman ayarlaması da orada olmalı mı bilmiyorum.

Açıklığa kavuşturmak için: Olaydan sonra günlüklerden anlamam gerekiyor. Zaman ayarlandıktan 2 gün sonra olabilir. Mevcut durumu görmek için komutları çalıştırmak yardımcı olmaz.

Yanıtlar:


8

ntpdc -c sysinfoKomutu ntpd durumunu sorgulamak için kullanabilirsiniz . Buna benzer bir çıktı döndürür:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      338.44917 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  8:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.003998 s
authdelay:            0.000000 s

4

Driftfile (/ var / lib / ntp / sapma) etmez yerel saat ve temas zaman sunucuları göre Ntpd hesaplanmıştır saat arasındaki farkı ölçülür.

Bunun yerine, yerel saatin tahmini kayması (frekans hatası) (ppm olarak). Bu değer ntpd tarafından saatte bir güncelleştirilir ve zaman içinde azalmaz.

Bildiğim kadarıyla değeri ntpd tarafından yeniden başlatıldıktan sonra yerel saatin ne kadar yanlış olduğunu tahmin etmek için kullanılır (makine kapatıldığında bile yerel saat çalışır).

Örnek: Dosyanın içeriği: 5 Makine 1 gün kapatıldı (86400 s) 5 ppm 86400 = 0.432 => Yerel saat "gelecekte" 0.432 s.

Noktalar şunlardır: - ntpd artık başlangıçtan hemen sonra yerel saate (-0.432 s) ilk yaklaşık düzeltmeyi uygulayabilir - ntpd derhal yerel saatin ne kadar yanlış olduğunu bilir (bu örnekte: 5 ppm)

(Sirex yorumuna yorum yapma iznim yok, bu yüzden yeni bir yorum ekledim)


3

drift dosyasında bir değeriniz olmalıdır. Konumu /etc/ntp.conf dosyasında olacaktır.

örneğin: "driftfile / var / lib / ntp / drift"

bu dosya, saatinizin olması gerekenden ne kadar uzakta olduğunu günlüğe kaydetmek için kullanılır ve zaman ilerledikçe yavaşça ntp bu değeri düşürmelidir. - Tek seferde yapmaz çünkü bu sistemde zaman damgası sorunlarına neden olabilir.


bu iyi bir bilgi, teşekkürler. Yine de, zaman geçtikten sonra, bu 0 olacak ve bilgilerimi kaybettim. Ntp bana bunun tamamlandığını söylemek için herhangi bir mesaj kaydetmiyor mu?
n-alexander

3

ntpq -nc peers size tüm akranlarınızla senkronizasyon durumunuzu gösterecektir.


2

Üzgünüm bu eski bir konu - umarım burada bir kuralı ihlal etmedim :)

/Etc/ntp.conf dosyasında şöyle görünen bir satır var:

#statsdir /var/log/ntpstats/

Açıklamada, istatistik kaydı için bu satırın açıklamasının kaldırıldığı belirtiliyor. Ben sadece sunucumuzda ntp kurdum, bu yüzden ne günlükleri emin değilim, ama burada aynı bilgileri arayan sona erdi, bu yüzden umarım bu başka birine yardımcı olacaktır.

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.