• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

آموزش تغییر timezone در لینوکس

modireserver

کاربر تازه وارد
تاریخ عضویت
6 ژوئن 2017
نوشته‌ها
4
لایک‌ها
0
سن
35
برای تغییر timezone لینوکس باید ابتدا آشنایی خوبی با دستورات لینوکس داشته باشید، در مقاله آموزش دستورات لینوکس به طور کامل نحوه کاربرد دستورات لینوکس را شرح دادیم. چند روش برای تغییر timezone لینوکس وجود دارد که سعی می‌کنیم بهترین روش‌ها را در این آموزش برای شما بیان کنیم، با ما همراه باشید.

برای مشاهده تاریخ و ساعت لینوکس از دستور date می‌توانید در محیط ssh استفاده کنید. در بسیاری از مواقع بعد از نصب لینوکس به صورت پیش‌فرض لوکیشن انتخاب شده کشوری متفاوت با محل زندگی شماست و همین امر شما را در آینده برای بررسی‌هایی همچون لاگ سرور، تاریخ سیستم مدیریت محتوا و زمان تراکنش‌های وب سایتتان دچار مشکل خواهد کرد. پس توصیه می‌کنیم بعد از نصب لینوکس خود، اولین کاری که انجام دهید تنظیم و تغییر timezone لینوکس خودتان باشد.

یک روش مطمئن ایجاد تغییر منطقه زمانی سرور شماست، اطلاعات مربوط به مکان جغرافیایی سرور شما در فایل etc/localtime/ فراخوانی می‌شود پس اولین نکته دانستن مسیر فایل تنظیم زمان و تاریخ سرورتان هستش، حالا باید timezone سرور را توسط فایل نگه دارنده اصلی آن تنظیم کنید. فایل localtime در واقع یک سیمبلینک لینک به فایل اصلی هستش که در ادامه بازگو خواهیم کرد.

دایرکتوری اصلی تمامی اطلاعات مناطق جغرافیایی و ساعت بروز آن‌ها در مسیر زیر قرار دارد.

/usr/share/zoneinfo/

/usr/share/zoneinfo/
zoneinfo-directory.png


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

/usr/share/zoneinfo/Asia/Tehran

/usr/share/zoneinfo/Asia/Tehran
حالا باید توسط دستور زیر فایل کنونی timezone سرور خودتان را پاک کنید.

rm -rf /etc/localtime

rm -rf /etc/localtime
سپس توسط دستور زیر، مسیر صحیح را جهت تغییر timezone لینوکس سرور خود وارد می‌کنیم.

ln -s /usr/share/zoneinfo/Asia/Tehran /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Tehran /etc/localtime
خوب حالا باید تنظیم مربوطه رو برای سخت‌افزار سرور یا سیستم شخصی خودتان انجام بدید تا با تغییرات در عملکرد سرور از جمله ریبوت و یا خاموش روشن شدن سرور تغییرات پابرجا بماند.

Nano /etc/sysconfig/clock

Nano /etc/sysconfig/clock
حالا درون فایل مربوطه مقادیر زیر را قرا دهید و تغییرات را ذخیره کنید.

ZONE="Asia/Tehran" UTC=false ARC=false

ZONE="Asia/Tehran"
UTC=false
ARC=false
و در انتها با واردکردن دستور زیر تغییرات رو روی سخت‌افزار ذخیره می‌کنیم.

hwclock --systohc --localtime

hwclock --systohc --localtime
یک مطلب بی‌نظیر : آموزش آپدیت اوبونتو به ورژن جدید
و برای اطمینان از انجام صحیح تغییر timezone لینوکس سرور، دستور hwclock را وارد نمایید.

در مواردی هم نیاز هستش تا بعد از تغییر timezone ساعت سرور را به صورت دستی یک‌بار تنظیم کنید برای این کار می‌توانید از دستور date با سوییچ s- به شکل زیر استفاده کنید.

date -s '2017-12-25 12:34:56'

date -s '2017-12-25 12:34:56'
set-time-with-date-command.png


خب در دستور بالا ما هم تاریخ رو و هم ساعت رو یک‌بار دستی ست می‌کنیم تا از این به بعد تاریخ رو صحیح دریافت کنیم چون در بعضی از مواقع مشاهده کردیم که این مشکل برای بعضی از دوستان وجود داشته بنابراین می‌توانید از این دستور استفاده کنید.

تغییر timezone لینوکس توسط پروتکل ntp
یکی دیگه از روش‌های تغییر timezone استفاده از پروتکل ntp هستش ntp مخفف کلمات network time protocol بوده و عملکرد این روش بدین صورت هستش که سرورهای بسیاری دقیق و زیادی در سراسر دنیا به منظور سینک کردن زمان در دسترس کاربران و سرورهای در حال فعالیت قرار داده شده‌اند که این سرورها به شکل دقیقی راه‌اندازی و کار می‌کنند و اختلاف زمانی آن‌ها بسیار کم هستش در این روش ما سرور رو به پروتکل متصلntp می‌کنیم و زمان دریافتی از سرورهای ntp انجام خواهد شد.

timedatectl set-time YYYY-MM-DD HH:MM:SS

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 : 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

'
timedatectl set-timezone 'Asia/Tehran
خوب امیدوارم توانسته باشید با مطالعه و پیاده‌سازی این آموزش، تغییر timezone لینوکس سرور خودتان را به درستی انجام بدید تا در آینده به مشکل برنخورید.

منبع
 
بالا