برای تغییر دادن Time zone در سطح سیستم در سیستم عامل لینوکس طبیعتا دو روش وجود دارد که یکی با استفاده از محیط گرافیکی است و دیگری با استفاده از خط فرمان که قرار است تغییر timezone در لینوکس را در دانشنامه کیمیاهاست خدمت شما ارائه دهیم.
هر سرور در یک شبکه عمومی یا خصوصی خدمات مختلفی را ارائه می دهد. بنابراین، این سرور برای کارایی با راندمان بالا باید به درستی پیکربندی یا کانفیگ شود. پیکربندی های یک سیستم شامل موارد پیچیده و فنی مانند مدیریت منابع تا موارد ساده تر مانند تنظیم زمان و تاریخ میباشد. در این مقاله، دقیقاً این کار را انجام خواهیم داد. یعنی تغییر timezone در لینوکس
حتی اگر منطقه زمانی شما صحیح است، بهتر است برای افزایش اطلاعات تخصصی خود، نحوه تغییر آنرا آموزش ببینید. مثلا گاهی اوقات لازم است منطقه زمانی VPS خود را برای انجام کار خاصی تغییر دهید.
آموزش تغییر timezone در لینوکس
دایرکتوری اصلی تمامی اطلاعات مناطق جغرافیایی و ساعت بروز آنها در مسیر زیر قرار دارد.
usr/share/zoneinfo/
با رفتن در این مسیر باید کشور خود را انتخاب کنید، برای انتخاب ایران و شهر تهران باید به دنبال فایل زیر باشید.
usr/share/zoneinfo/Asia/Tehran/
حالا باید توسط دستور زیر فایل کنونی timezone سرور خودتان را پاک کنید.
rm -rf /etc/localtime
سپس توسط دستور زیر، مسیر صحیح را جهت تغییر timezone لینوکس سرور خود وارد میکنیم.
ln -s /usr/share/zoneinfo/Asia/Tehran /etc/localtime
خوب حالا باید تنظیم مربوطه رو برای سختافزار سرور یا سیستم شخصی خودتان انجام بدید تا با تغییرات در عملکرد سرور از جمله ریبوت و یا خاموش روشن شدن سرور تغییرات پابرجا بماند.
nano /etc/sysconfig/clock
حالا درون فایل مربوطه مقادیر زیر را قرا دهید و تغییرات را ذخیره کنید.
"ZONE="Asia/Tehran UTC=false ARC=false
و در انتها با واردکردن دستور زیر تغییرات رو روی سختافزار ذخیره میکنیم.
hwclock --systohc --localtime
و برای اطمینان از انجام صحیح تغییر timezone سرور لینوکس، دستور hwclock را وارد نمایید.
در مواردی هم نیاز هستش تا بعد از تغییر timezone ساعت سرور را به صورت دستی یکبار تنظیم کنید برای این کار میتوانید از دستور date با سوییچ s- به شکل زیر استفاده کنید.
date -s '2017-12-25 12:34:56'
خب در دستور بالا ما هم تاریخ رو و هم ساعت رو یکبار دستی ست میکنیم تا از این به بعد تاریخ رو صحیح دریافت کنیم چون در بعضی از مواقع مشاهده کردیم که این مشکل برای بعضی از دوستان وجود داشته بنابراین میتوانید از این دستور استفاده کنید.
تغییر timezone در لینوکس توسط پروتکل ntp
یکی دیگه از روشهای تغییر timezone استفاده از پروتکل ntp هستش ntp مخفف کلمات network time protocol بوده و عملکرد این روش بدین صورت هستش که سرورهای بسیاری دقیق و زیادی در سراسر دنیا به منظور سینک کردن زمان در دسترس کاربران و سرورهای در حال فعالیت قرار داده شدهاند که این سرورها به شکل دقیقی راهاندازی و کار میکنند و اختلاف زمانی آنها بسیار کم هستش در این روش ما سرور رو به پروتکل متصلntp میکنیم و زمان دریافتی از سرورهای ntp انجام خواهد شد.
timedatectl set-time YYYY-MM-DD HH:MM:SS
توسط دستور بالا میتوانیم تاریخ و ساعت سرور را تنظیم کنیم، واضح هستش که نمادهای نوشته شده برای چه پارامترهایی هستند ولی برای آن دسته از کسانی که آگاهی ندارند یکبار این موارد رو سریع ذکر میکنیم.
HH : An hour MM : A minute SS : A second, all typed in two-digit form YYYY: A four-digit year MM : A two-digit month DD: A two-digit day of the month
- HH برای دو کاراکتر ساعت
- MM برای دو کاراکتر دقیقه
- SS برای دو کاراکتر ثانیه
- YYYY برای چهار کاراکتر سال
- MM برای دو کاراکتر ماه
- DD برای دو کاراکتر روز
همچنین میتوانیم تاریخ و ساعت رو به فرمت ورودی عددی وارد نکنیم و به صورت timezone جغرافیایی توسط دستور timedatectl اعمال کنیم.
'timedatectl set-timezone 'Asia/Tehran
خوب امیدوارم توانسته باشید با مطالعه و پیادهسازی این آموزش، تغییر timezone در لینوکس سرور خودتان را به درستی انجام بدید تا در آینده به مشکل برنخورید.