تنظیم صحیح تاریخ و ساعت در لینوکس اهمیت زیادی دارد؛ بهخصوص برای سیستمهایی که به اینترنت متصل هستند، سرورهای لینوکسی، و دستگاههای زمانبندی خودکار. این مقاله به شما آموزش میدهد که چگونه زمان و تاریخ را در لینوکس بهطور دستی یا خودکار تنظیم کنید و با ابزارهایی مانند `timedatectl`، `date` و `hwclock` کار کنید.
۱. بررسی وضعیت فعلی تاریخ و ساعت
قبل از هرگونه تغییر، بهتر است زمان و تاریخ فعلی سیستم را بررسی کنید. برای این کار میتوانید از دستور زیر استفاده کنید:
date
این دستور تاریخ و زمان فعلی سیستم را نمایش میدهد.
همچنین، برای دیدن تنظیمات کاملتر شامل وضعیت UTC، زمان محلی و تنظیمات ساعت سختافزار میتوانید دستور زیر را اجرا کنید:
timedatectl
۲. تنظیم دستی تاریخ و ساعت با استفاده از `date`
برای تنظیم دستی تاریخ و ساعت، از دستور `date` استفاده میشود. فرمت کلی دستور به این صورت است:
sudo date MMDDhhmmYYYY.ss
* `MM`: ماه (دو رقمی)
* `DD`: روز (دو رقمی)
* `hh`: ساعت (دو رقمی، ۲۴ ساعته)
* `mm`: دقیقه (دو رقمی)
* `YYYY`: سال (چهار رقمی)
* `ss`: ثانیه (دو رقمی، اختیاری)
بهعنوان مثال، اگر بخواهید تاریخ و زمان سیستم را به ۲۲ اکتبر ۲۰۲۴، ساعت ۱۵:۳۰ تنظیم کنید:
sudo date 102215302024
۳. تنظیم ساعت سختافزاری با استفاده از `hwclock`
ساعت سختافزاری (یا RTC – Real Time Clock) در مادربورد سیستم قرار دارد و حتی وقتی سیستم خاموش است، زمان را حفظ میکند. میتوانید ساعت سیستمعامل را با ساعت سختافزاری همگامسازی کنید یا برعکس.
نمایش ساعت سختافزاری
sudo hwclock --show
تنظیم ساعت سختافزاری با زمان سیستم
sudo hwclock --systohc
تنظیم ساعت سیستم با زمان سختافزاری
sudo hwclock --hctosys
۴. تنظیم خودکار تاریخ و ساعت با استفاده از `timedatectl`
در لینوکس، از `systemd` و ابزار `timedatectl` برای مدیریت آسان زمان و تاریخ استفاده میشود. این ابزار میتواند سیستم را به سرورهای NTP متصل کند تا بهصورت خودکار زمان دقیق تنظیم شود.
فعالسازی NTP برای تنظیم خودکار زمان
sudo timedatectl set-ntp true
با این دستور، زمان سیستم بهصورت خودکار از طریق سرورهای NTP بهروزرسانی میشود.
غیرفعال کردن NTP
sudo timedatectl set-ntp false
تنظیم دستی زمان با استفاده از `timedatectl`
برای تنظیم دستی زمان، میتوانید از دستور زیر استفاده کنید:
sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
بهعنوان مثال، اگر بخواهید زمان را به ۲۲ اکتبر ۲۰۲۴ ساعت ۱۵:۳۰:۰۰ تنظیم کنید:
sudo timedatectl set-time "2024-10-22 15:30:00"
۵. تنظیم منطقه زمانی (Time Zone)
برای تنظیم منطقه زمانی، ابتدا لیست مناطق زمانی موجود را با دستور زیر مشاهده کنید:
timedatectl list-timezones
سپس، منطقه زمانی موردنظر خود را انتخاب کرده و تنظیم کنید. بهعنوان مثال، برای تنظیم منطقه زمانی تهران:
sudo timedatectl set-timezone Asia/Tehran
۶. هماهنگی ساعت سیستم و ساعت سختافزاری
در برخی موارد، ممکن است ساعت سیستم و ساعت سختافزاری ناهماهنگ باشند. این اتفاق میتواند به دلایل مختلفی مانند تفاوت تنظیمات UTC یا منطقه زمانی رخ دهد. برای رفع این مشکل، میتوانید از دستورات `hwclock` و `timedatectl` برای هماهنگسازی استفاده کنید.
تعیین فرمت ساعت سختافزاری (UTC یا Localtime)
با دستور زیر میتوانید تعیین کنید که ساعت سختافزاری از UTC یا زمان محلی استفاده کند:
sudo timedatectl set-local-rtc 1
برای بازگشت به حالت UTC:
sudo timedatectl set-local-rtc 0
نتیجهگیری
تنظیم صحیح تاریخ و ساعت در لینوکس، بهخصوص برای سرورها و سیستمهای شبکهای اهمیت زیادی دارد. با استفاده از دستورات `date`، `hwclock` و `timedatectl` میتوانید زمان را بهصورت دستی تنظیم کنید یا سیستم خود را بهصورت خودکار به سرورهای NTP متصل کنید تا همواره زمان دقیق داشته باشید.