Blog’a Dön

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.

Nodesty Ekibi3 dk okumaSunucular
Koyu Nodesty arka planında Time Sync yazısı ile timedatectl, NTP ve UTC ifadeleri

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/UTC ya da Europe/Istanbul.
  • System clock synchronized: yes ise saat NTP ile senkronize ediliyor.
  • NTP service: active ise 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ölgelerdeUTC
Farklı ülkelerden kullanıcılarUTC
Yaz saati uygulaması olan bir bölgeUTC
Tek sunucu, görevleri yerel saate göre planlanmış basit kurulumYerel 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.

Nodesty

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

Sunucunuzu şimdi başlatın.

Nodesty'nin üstün altyapısı ile projelerinizi özgürce inşa edin ve sınır tanımadan ölçeklendirin.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································