۵
(۱)

در عصر حاضر که جهان به سرعت در حال دیجیتالی شدن است، داشتن سیستم‌هایی که قادر به نمایش دقیق زمان هستند، به عنصری حیاتی تبدیل شده است. تنظیمات NTP (پروتکل زمان شبکه) به سرورهای مبتنی بر سیستم عامل لینوکس این امکان را می‌دهد که ساعت و تاریخ خود را با ساعت‌های استاندارد جهانی همسان‌سازی کنند. این امر اطمینان می‌دهد که تمامی تراکنش‌ها و عملیات‌ها با بالاترین سطح دقت زمانی اجرا می‌شوند، که در نتیجه کارایی و قابلیت اطمینان سیستم‌ها را افزایش می‌دهد.

در این مقاله، به طور جامع به بررسی نحوه استفاده و پیاده‌سازی تنظیمات NTP در سرورهای مجازی لینوکس پرداخته می‌شود. از مرحله اولیه نصب و پیکربندی این پروتکل، تا تنظیم منطقه زمانی مورد نظر و رفع تمامی چالش‌ها و مشکلات مربوط به نگهداری ساعت و تاریخ دقیق در سیستم‌ها، همه و همه در این بحث شامل خواهد شد. با درک و اجرای صحیح این تنظیمات، می‌توان از پایداری و دقت زمانی لازم برای پشتیبانی از انواع فعالیت‌های برنامه‌ریزی شده و تعاملات درون شبکه‌ای اطمینان حاصل کرد.

تنظیمات NTP برای تنظیم منطقه زمانی و تنظیمات کلی

بهترین روش برای تنظیم ساعت و تاریخ روی سرورهای لینوکس، استفاده از تنظیمات NTP است. اگر تاریخ و ساعت روی سرورهایتان به صورت دستی تنظیم شده و مشکلی با آنها دارید، ممکن است با گذشت زمان دوباره با مشکل مواجه شوید.

برای رفع این مشکل به صورت دائمی، ابتدا باید Network Time را نصب کرده و Time Zone مورد نیازتان را تنظیم کنید. سپس سرویس NTP را ریستارت کنید.

برای این کارها، مراحل زیر را دنبال کنید:

۱ـ ابتدا دستورات زیر را به ترتیب وارد کنید:

yum install ntp ntpdate

systemctl enable ntpd

systemctl start ntpd

ntpdate -u -s ۰.centos.pool.ntp.org ۱.centos.pool.ntp.org ۲.centos.pool.ntp.org

systemctl restart ntpd

timedatectl set-timezone "Asia/Tehran"

service ntpd restart

۲ـ برای بررسی صحت تنظیمات، دستور زیر را اجرا کنید:

date

اگر می‌خواهید تاریخ و ساعت را به صورت دستی تنظیم کنید، می‌توانید از دستورات زیر استفاده کنید:

date +%Y%m%d -s "20230312"

به ترتیب به جای y , m , d مقادیر سال و ماه و روز را در عبارت انتهای دستور وارد نمایید. مثلا برای تاریخ ۲۰۲۳/۰۳/۱۲ باید مقدار ۲۰۲۳۰۳۱۲ را استفاده کنید

ـ برای تنظیم تاریخ:

date +%Y%m%d -s "۲۰۲۳۰۳۱۲"

ـ برای تنظیم ساعت:

date +%T -s "۱۱:۱۴:۰۰"

همچنین می‌توانید تاریخ و ساعت را در یک دستور تنظیم کنید:

date -s "19 APR 2012 11:14:00"

برای اطمینان از صحت تنظیمات، می‌توانید از کد PHP زیر استفاده کنید:

<?php

date_default_timezone_set('Asia/Tehran');

$timestamp = time();

$date_time = date("d-m-Y (D) H:i:s", $timestamp);

echo "Current date and local time on this server is $date_time";

?>

یا از کد زیر که شامل اطلاعات مربوط به PHP هم می‌باشد:

<?php

date_default_timezone_set("Asia/Tehran");

date_default_timezone_set('Iran');

echo "Today is " . date("Y/m/d") . " ->"  . date("h:i:sa") . "<br>";

echo "Today is " . date("l");

phpinfo();

?>

با این مراحل، می‌توانید تاریخ و ساعت را به درستی تنظیم کنید و از صحت آنها مطمئن شوید.

نمونه کد PHP برای نمایش ساعت و تاریخ

برای اطمینان از درستی تنظیمات، یک فایل PHP در public_html هاست خود ایجاد کنید و یکی از کدهای زیر را در آن قرار دهید:

کد اول:

<?php

date_default_timezone_set('Asia/Tehran');

$timestamp = time();

$date_time = date("d-m-Y (D) H:i:s", $timestamp);

echo "Current date and local time on this server is $date_time";

?>

کد دوم:

<?php

date_default_timezone_set("Asia/Tehran");

date_default_timezone_set('Iran');

echo "Today is " . date("Y/m/d") . " ->"  . date("h:i:sa") . "<br>";

echo "Today is " . date("l");

phpinfo();

?>

سپس فایل را با پسوند php ذخیره کنید و با نام دامنه فایل را در مرورگر باز کنید. به عنوان مثال، اگر فایل را با نام time.php ذخیره کنید، با آدرس زیر می‌توانید فایل را اجرا کنید:

http://domainname.com/time.php

توجه داشته باشید که به جای domainname.com باید نام دامنه خود را قرار دهید.

تنظیمات منطقه زمانی برای اوبونتو

timedatectl یک ابزار خط فرمان است که به شما امکان می‌دهد زمان و تاریخ سیستم را مشاهده و تغییر دهید. این ابزار در تمام سیستم‌های مدرن مبتنی بر سیستم عامل لینوکس، از جمله اوبونتو ۲۰٫۰۴ موجود است.

برای نشان دادن منطقه زمانی سیستم فعلی، فقط timedatectl را تایپ کنید:

timedatectl

خروجی نشان می‌دهد که منطقه زمانی روی ‌UTC تنظیم شده است:

Local time: Wed ۲۰۲۰-۰۵-۰۶ ۱۹:۳۳:۲۰ UTC

Universal time: Wed ۲۰۲۰-۰۵-۰۶ ۱۹:۳۳:۲۰ UTC

RTC time: Wed ۲۰۲۰-۰۵-۰۶ ۱۹:۳۳:۲۲

Time zone: UTC (UTC, +۰۰۰۰)

System clock synchronized: yes

NTP service: active

RTC in local TZ: no

منطقه زمانی سیستم با همگام‌سازی /etc/localtime به یک شناسه منطقه زمانی باینری در فهرست /usr/share/zoneinfo پیکربندی شده است.

گزینه دیگر برای مشاهده منطقه زمانی سیستم فعلی، یافتن پرونده‌ای است که Simlink به آن اشاره دارد:

ls -l /etc/localtime

خروجی:

lrwxrwxrwx ۱ root root ۲۷ Dec ۱۰ ۱۲:۵۹ /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

منطقه زمانی سیستم نیز در پرونده /etc/timezone نوشته شده است:

cat /etc/timezone

خروجی:

UTC

تغییر منطقه زمانی با استفاده از timedatectl

قبل از تغییر منطقه زمانی، باید نام طولانی منطقه زمانی را که می خواهید استفاده کنید پیدا کنید. مناطق زمانی از قالب “منطقه / شهر” استفاده می‌کنند.

برای لیست کردن تمام مناطق زمانی موجود، می توانید پرونده ها را در فهرست / usr / share / zoneinfo لیست کنید یا با استفاده از گزینه لیست منطقه زمانی ، دستور timedatectl را فراخوانی کنید:

timedatectl list-timezones

خروجی:

...

America/Montevideo

America/Nassau

America/New_York

America/Nipigon

America/Nome

America/Noronha

...

پس از شناسایی منطقه زمانی دقیق در مکان خود ، دستور زیر را به عنوان کاربر sudo اجرا کنید:

sudo timedatectl set-timezone your_time_zone

به عنوان مثال ، برای تغییر منطقه زمانی منطقه به Asia/Tehran:

sudo timedatectl set-timezone Asia/Tehran

برای تأیید تغییرات ، از دستور timedatectl فراخوانی کنید:

timedatectl

خروجی:

Local time: Tue ۲۰۲۲-۰۱-۱۱ ۱۵:۳۲:۱۹ +۰۳۳۰

Universal time: Tue ۲۰۲۲-۰۱-۱۱ ۱۲:۰۲:۱۹ UTC 

RTC time: Tue ۲۰۲۲-۰۱-۱۱ ۱۲:۰۲:۱۹     

Time zone: Asia/Tehran (+۰۳۳۰, +۰۳۳۰)  

System clock synchronized: no                          

NTP service: active                      

RTC in local TZ: no

تغییر ساعت و تاریخ به صورت دستی

اولین قدم، با استفاده از دستور زیر، تاریخ و زمان فعلی سرور را مشاهده می‌کنیم:

date

سپس می‌توانیم با دستور زیر، به صورت دستی تاریخ و زمان را تغییر دهیم:

date -s "18 OCT 2022 18:00:00"

یا این دستور را نیز می‌توانیم استفاده کنیم:

date --set="18 OCT 2022 18:00:00"

در نهایت، برای بررسی مجدد تنظیمات، دوباره دستور date را اجرا می‌کنیم:

date

جمع بندی

در این مقاله، مراحل مختلف نصب، پیکربندی و رفع چالش‌های NTP در سیستم‌های لینوکس به طور جامع بررسی شدند. با پیروی از این مراحل، شما می‌توانید از دقت زمانی لازم برای پشتیبانی از فعالیت‌های برنامه‌ریزی‌شده و تعاملات شبکه‌ای اطمینان حاصل کنید. به‌علاوه، نحوه تنظیم دستی ساعت و تاریخ، ایجاد فایل‌های PHP برای بررسی صحت تنظیمات، و استفاده از ابزارهای خط فرمان مانند `timedatectl` نیز به تفصیل ارائه شدند. با اجرای صحیح این دستورالعمل‌ها و روش‌ها، از همگام‌سازی کامل و دقیق زمان سیستم خود مطمئن خواهید شد.

اگر به دنبال سرورهای مجازی لینوکس با پایداری بالا، قابلیت اطمینان، و تنظیمات انعطاف‌پذیر هستید، زویپ سرور انتخاب مناسبی برای شماست. زویپ سرور در کنار خدمات حرفه‌ای، پشتیبانی فنی مناسبی نیز ارائه می‌دهد تا در هر مرحله، از راه‌اندازی تا مدیریت سرور، شما را همراهی کند.

چقدر این مطلب مفید بود؟

روی یک ستاره کلیک کنید تا به آن امتیاز دهید!

میانگین امتیاز ۵ / ۵. تعداد آرا: ۱

تا الان رای نیامده! اولین نفری باشید که به این پست امتیاز می دهید.