SYSTEMD-TIMESYNCD.SERVICE(8) systemd-timesyncd.service SYSTEMD-TIMESYNCD.SERVICE(8)

systemd-timesyncd.service, systemd-timesyncd - سرویس همگام‌سازی زمان شبکه بر بستر SNTP

systemd-timesyncd.service

/usr/lib/systemd/systemd-timesyncd

systemd-timesyncd.service یک سرویس سیستمی است که می‌تواند برای همگام‌سازی ساعت سیستم محلی با یک سرور پروتکل زمان شبکه (NTP) راه دور مورد استفاده قرار گیرد. این سرویس همچنین هر بار که ساعت همگام‌سازی می‌شود، زمان محلی را روی دیسک ذخیره می‌کند و در راه‌اندازی‌های بعدی سیستم از آن برای جلو بردن ساعت بی‌درنگ سیستم در صورت لزوم استفاده می‌نماید تا اطمینان حاصل شود که حتی در صورت فقدان تراشهٔ RTC دارای باتری پشتیبان در سیستم، زمان (تقریباً) به‌صورت یکنواخت به جلو پیش می‌رود.

سرویس systemd-timesyncd.service فقط پروتکل SNTP را پیاده‌سازی می‌کند. این سرویس کمینه‌گرا در صورت وجود اختلاف‌های زمانی بزرگ، ساعت سیستم را به‌یکباره جهش می‌دهد (step) یا برای اختلاف‌های کوچک‌تر، آن را به‌آرامی تنظیم می‌کند. موارد استفادهٔ پیچیده‌ای که نیازمند پشتیبانی کامل از NTP هستند (و SNTP برای آن‌ها کافی نیست) توسط systemd-timesyncd.service پوشش داده نمی‌شوند.

سرورهای NTP مورد تماس بر اساس تنظیمات سراسری در timesyncd.conf(5)، تنظیمات ایستا به ازای هر پیوند در پرونده‌های .network و تنظیمات پویای دریافت شده از طریق DHCP به ازای هر پیوند تعیین می‌شوند. برای جزئیات بیشتر به systemd.network(5) مراجعه کنید.

دستور set-ntp از timedatectl(1) می‌تواند برای فعال‌سازی و شروع، یا غیرفعال‌سازی و توقف این سرویس استفاده شود.

دستورهای timesync-status یا show-timesync از timedatectl(1) می‌توانند برای نمایش وضعیت فعلی این سرویس استفاده شوند.

راه‌اندازی اولیهٔ systemd-timesyncd.service شروع واحدهایی را که پس از time-set.target ترتیب‌بندی شده‌اند (برای جزئیات به systemd.special(7) مراجعه کنید) به تعویق می‌اندازد تا زمان محلی از /var/lib/systemd/timesync/clock (به بخش زیر مراجعه کنید) به‌روزرسانی شود تا تقریباً یکنواخت (monotonic) گردد. این سرویس واحدهای دیگر را تا زمان دستیابی به همگام‌سازی با یک منبع مرجع زمانی دقیق به تاخیر نمی‌اندازد. برای این منظور از systemd-time-wait-sync.service(8) استفاده کنید، که شروع واحدهایی را که پس از time-sync.target ترتیب‌بندی شده‌اند تا زمان همگام‌سازی با یک ساعت مرجع دقیق به تعویق خواهد انداخت.

systemd و systemd-timesyncd ساعت سیستم را به «مبدأ زمانی» یا عصر (epoch - کمترین تاریخی که فرض می‌شود ساعت سیستم بالاتر از آن به‌درستی تنظیم شده است) جلو می‌برند. برای جزئیات به بخش «System clock epoch» در systemd(1) مراجعه کنید. systemd در زمان راه‌اندازی اولیه ساعت را تنظیم می‌کند، اما ممکن است در آن زمان /var/lib/systemd/timesync/clock هنوز در دسترس نباشد. systemd-timesyncd هنگامی که اجرا می‌شود و متوجه می‌شود ساعت سیستم قبل از زمان تغییر پروندهٔ /var/lib/systemd/timesync/clock است، ساعت را جلو می‌برد.

/var/lib/systemd/timesync/clock

زمان تغییر («mtime») این پرونده در هر بار همگام‌سازی موفق NTP یا پس از هر بازهٔ زمانی SaveIntervalSec= (همان‌گونه که در timesyncd.conf(5) مشخص شده است) به‌روزرسانی می‌شود.

در صورت وجود، زمان تغییر این پرونده توسط systemd(1) و systemd-timesyncd.service برای مبدأ زمانی (epoch) استفاده می‌شود.

اضافه‌شده در نسخهٔ 219.

/run/systemd/timesync/synchronized

پرونده‌ای که در هر همگام‌سازی موفق لمس (touch) می‌شود تا به سرویس systemd-time-wait-sync.service(8) و سایر برنامه‌ها در تشخیص همگام‌سازی با یک ساعت مرجع دقیق کمک کند.

اضافه‌شده در نسخهٔ 239.

systemd(1), timesyncd.conf(5), systemd.network(5), systemd-networkd.service(8), systemd-time-wait-sync.service(8), systemd.special(7), timedatectl(1), localtime(5), hwclock(8)

systemd 261.2