Sunucu Saat Dilimi ve NTP: Linux Saat Ayarı Rehberi
Linux sunucuda saat dilimi ve NTP nasıl ayarlanır? timedatectl, UTC mi yerel saat mi, chrony ve timesyncd, cron, günlükler, 2FA ve Windows Server.

İçindekiler
Sunucu saati, günlüklerin doğru sıralanmasından zamanlanmış görevlerin doğru zamanda çalışmasına, SSL bağlantılarından iki faktörlü doğrulama kodlarına kadar birçok şeyi etkiler. İki şeyin doğru olması gerekir: saat dilimi (sunucunun saati hangi bölgeye göre gösterdiği) ve saatin kendisi (NTP ile atomik saat kaynaklarına senkronize olması). İkisi de birkaç komutla ayarlanır.
Bu rehberde Linux sunucuda saati kontrol etmeyi, saat dilimini değiştirmeyi, UTC ile yerel saat arasında seçim yapmayı, NTP ile senkronizasyonu ve saatin yanlış olmasının yol açtığı sorunları anlatıyoruz.
Saati kontrol etme: timedatectl
Sunucunuza SSH ile bağlandıktan sonra:
timedatectl
Çıktıdaki önemli satırlar:
- Local time: Sunucunun yerel saati.
- Universal time: UTC saati.
- Time zone: Seçili saat dilimi, örneğin
Etc/UTCya daEurope/Istanbul. - System clock synchronized:
yesise saat NTP ile senkronize ediliyor. - NTP service:
activeise senkronizasyon servisi çalışıyor.
Saat dilimini değiştirme
Kullanılabilir saat dilimlerini listelemek ve birini seçmek için:
timedatectl list-timezones | grep Europe
sudo timedatectl set-timezone Europe/Istanbul
UTC'ye dönmek için:
sudo timedatectl set-timezone Etc/UTC
Saat dilimini değiştirdikten sonra cron görevleri yeni saat dilimine göre çalışır. Saat dilimini yalnızca açılırken okuyan uygulamaları ve servisleri yeniden başlatmanız gerekebilir.
UTC mi, yerel saat mi?
| Durum | Öneri |
|---|---|
| Birden fazla sunucu, farklı bölgelerde | UTC |
| Farklı ülkelerden kullanıcılar | UTC |
| Yaz saati uygulaması olan bir bölge | UTC |
| Tek sunucu, görevleri yerel saate göre planlanmış basit kurulum | Yerel saat dilimi |
UTC'nin en büyük avantajı, yaz saati geçişlerinde saatin ileri ya da geri atlamamasıdır; bu atlamalar zamanlanmış görevlerin iki kez çalışmasına ya da hiç çalışmamasına yol açabilir. Uygulamalarda yaygın yaklaşım, sunucuyu ve veritabanını UTC'de tutup saati kullanıcıya gösterirken onun saat dilimine çevirmektir.
Sunucunuz UTC'deyse zamanlanmış görevlerin saatini buna göre ayarlayın; örneğin Türkiye saatiyle 03:00'te çalışmasını istediğiniz bir görev UTC'de 00:00'a denk gelir. Cron'un ayrıntılarını Cron nedir? yazımızda anlattık.
NTP ile saat senkronizasyonu
NTP (Network Time Protocol), sunucunun saatini internetteki hassas saat kaynaklarıyla otomatik olarak senkronize eder. Sanal sunucularda saat zamanla kayabildiği için NTP'nin açık olması özellikle önemlidir.
systemd-timesyncd (Ubuntu ve Debian'da varsayılan):
sudo timedatectl set-ntp true
timedatectl timesync-status
İlk komut senkronizasyonu açar, ikincisi hangi sunucuyla senkronize olunduğunu ve son senkronizasyonun durumunu gösterir.
chrony (AlmaLinux ve Rocky Linux'ta varsayılan, Ubuntu'da da kurulabilir):
sudo apt install chrony
chronyc tracking
chronyc sources
chronyc tracking saatin ne kadar saptığını, chronyc sources kullanılan saat kaynaklarını gösterir. chrony kurulduğunda systemd-timesyncd'nin yerini alır; iki senkronizasyon servisini aynı anda çalıştırmayın.
NTP, sunucudan dışarıya 123 numaralı UDP portu üzerinden bağlanır. Giden trafiği kısıtlayan bir güvenlik duvarı kullanıyorsanız bu bağlantıya izin verin; ayrıntılar UFW kullanımı rehberimizde.
Saat yanlışsa neler bozulur?
- SSL ve HTTPS: Saat çok ileride ya da geride olan bir sunucu, sertifikaları henüz geçerli değil ya da süresi dolmuş sanabilir; dışarıya yapılan HTTPS bağlantıları başarısız olur.
- İki faktörlü doğrulama: TOTP kodları zamana dayanır. Saat birkaç dakika saparsa sunucu doğru kodları reddeder.
- Günlükler: Birden fazla sunucunun günlüklerini karşılaştırırken saatler uyuşmazsa olayların sırası anlaşılmaz hâle gelir.
- Zamanlanmış görevler: Yedekler ve bakım işleri yanlış zamanda çalışır.
- Veritabanı ve uygulamalar: Sipariş, oturum ve önbellek süreleri yanlış hesaplanır.
Windows Server'da saat
Windows Server'da saat dilimini Ayarlar → Saat ve dil bölümünden değiştirebilirsiniz. Saat senkronizasyonunu kontrol etmek ve zorlamak için PowerShell'i yönetici olarak açın:
w32tm /query /status
w32tm /resync
Windows Server ile Linux arasında seçim yapıyorsanız Windows Server mı Linux mu? yazımıza göz atın.
Nodesty sunucularında saat
Nodesty AMD Ryzen 9 9950X VDS ve AMD EPYC 7763 VDS paketlerinde tam root erişimiyle saat dilimini ve NTP ayarlarını dilediğiniz gibi yapabilirsiniz. 9950X paketleri Frankfurt ve New York'ta sunulur; farklı bölgelerde sunucu çalıştırıyorsanız sunucularınızı UTC'de tutmak günlüklerinizi ve görevlerinizi tutarlı kılar.
Sıkça Sorulan Sorular
Sunucu saati UTC mi olmalı, yerel saat mi?
Birden fazla sunucunuz, farklı ülkelerden kullanıcılarınız ya da yaz saati uygulaması olan bir bölgeniz varsa UTC daha güvenlidir; günlükler ve zaman damgaları her yerde karşılaştırılabilir kalır. Tek bir sunucuda çalışan ve zamanlanmış görevleri yerel saate göre planlanan basit kurulumlarda yerel saat dilimi işinizi kolaylaştırabilir.
Saat dilimini değiştirmek çalışan uygulamaları etkiler mi?
Sistem saat dilimini değiştirdiğinizde cron görevleri yeni saat dilimine göre çalışmaya başlar. Bazı uygulamalar saat dilimini yalnızca açılırken okur; değişiklikten sonra bu uygulamaları ve servisleri yeniden başlatmanız gerekebilir. Veritabanındaki kayıtlar değişmez.
Saat yanlışsa ne olur?
Birkaç dakikalık bir sapma bile SSL bağlantılarında sertifika hatalarına, iki faktörlü doğrulama kodlarının reddedilmesine, günlüklerin yanlış sıralanmasına ve zamanlanmış görevlerin yanlış zamanda çalışmasına yol açabilir. Saati her zaman NTP ile otomatik senkronize tutun.
chrony mi systemd-timesyncd mi?
Çoğu sunucu için Ubuntu ve Debian'da hazır gelen systemd-timesyncd yeterlidir. Daha hassas senkronizasyon, birden fazla saat kaynağı ya da sunucunun başka cihazlara saat sunması gerekiyorsa chrony daha güçlü bir seçimdir. AlmaLinux ve Rocky Linux'ta varsayılan olarak chrony kullanılır.
Veritabanı hangi saat dilimini kullanır?
MariaDB ve PostgreSQL varsayılan olarak sistemin saat dilimini kullanır, ama kendi ayarlarıyla bunu değiştirebilirsiniz. Zaman damgalarını veritabanında UTC olarak saklayıp kullanıcıya gösterirken onun saat dilimine çevirmek, farklı bölgelerden kullanıcısı olan uygulamalar için en güvenli yaklaşımdır.
Docker konteynerleri hangi saat dilimini kullanır?
Konteynerler genellikle varsayılan olarak UTC kullanır ve sunucunun saat dilimini otomatik almaz. Bir konteynerin farklı bir saat dilimi kullanması gerekiyorsa TZ ortam değişkenini, örneğin TZ=Europe/Istanbul olarak ayarlayabilirsiniz. Saatin kendisi ise sunucudan gelir; konteynerde ayrıca NTP çalıştırmanız gerekmez.
Yazar hakkında
Nodesty Ekibi · Altyapı ve Destek
Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.
İlgili yazılar

Docker Compose ile WordPress Kurulumu
Docker Compose ile WordPress nasıl kurulur? MariaDB ve WordPress konteynerleri, .env ile şifreler, Nginx ve SSL, yükleme sınırları, yedek ve güncelleme.

Ollama Kurulumu: Kendi Sunucunuzda Yapay Zeka Modeli Çalıştırma
Ollama ile kendi sunucunuzda yapay zeka modeli çalıştırma: kurulum, model ve RAM seçimi, API kullanımı, Open WebUI, güvenli erişim ve işlemci kullanımı.

Sunucu İzleme: Kaynakları, Servisleri ve Uyarıları Takip Etme
Sunucu izleme nasıl yapılır? Neleri izlemeli, Netdata ile anlık izleme, Uptime Kuma ile dış kontrol, Prometheus ve Grafana, uyarı eşikleri ve günlükler.