دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
لینوکس
  • Folder icon closed Folder open iconآشنایی با لینوکس (Linux Fundamentals)
  • Folder icon closed Folder open iconتوزیع‌های مختلف لینوکس (Linux Distributions)
  • Folder icon closed Folder open iconFHS؛ آشنایی با ساختار فایل‌ و پوشه‌های لینوکسی
  • Folder icon closed Folder open iconمهم‌ترین دستورات پایه‌ای برای هر sysadmin
  • Folder icon closed Folder open iconمدیریت فایل و پوشه (file & directory management) در لینوکس
  • Folder icon closed Folder open iconآموزش ویرایش فایل‌های متنی در لینوکس با Nano و Vim
  • Folder icon closed Folder open iconآشنایی با users، groups و ساختار مدیریت کاربران در لینوکس
  • Folder icon closed Folder open iconآموزش Permission و Ownership در لینوکس
  • Folder icon closed Folder open iconآشنایی با Root و sudo
  • Folder icon closed Folder open iconآشنایی با Processها در لینوکس
  • Folder icon closed Folder open iconتغییر Hostname در لینوکس
  • Folder icon closed Folder open iconتنظیم Timezone در لینوکس
  • Folder icon closed Folder open iconتنظیم NTP در لینوکس
  • Folder icon closed Folder open iconبروزرسانی سیستم در لینوکس
  • Folder icon closed Folder open iconساخت کاربر جدید در لینوکس
  • Folder icon closed Folder open iconایجاد کاربران و گروه ها در لینوکس
  • Folder icon closed Folder open iconآموزش ACL در لینوکس؛ مدیریت سطح دسترسی پیشرفته برای کاربران و گروه‌ها
  • Folder icon closed Folder open iconآموزش umask در لینوکس؛ تعیین مجوز پیش‌فرض فایل‌ها و پوشه‌های جدید
  • Folder icon closed Folder open iconآموزش فایل sudoers؛ مدیریت دسترسی کاربران به دستورات مدیریتی در لینوکس
  • Folder icon closed Folder open iconآموزش دستور chown در لینوکس
  • Folder icon closed Folder open iconآموزش دستور chmod در لینوکس
  • Folder icon closed Folder open iconSticky Bit در لینوکس چیست؟ آموزش افزایش امنیت پوشه‌های اشتراکی
  • Folder icon closed Folder open iconآموزش SUID در لینوکس؛ اجرای برنامه‌ها با دسترسی مالک فایل
  • Folder icon closed Folder open iconآموزش SGID در لینوکس؛ مدیریت دسترسی گروه‌ها و اجرای برنامه‌ها
لینوکس

تنظیم Timezone در لینوکس

change timezone in linux

مقدمه

زمان دقیق سیستم، یکی از آن تنظیماتی است که تا زمانی که مشکل ایجاد نکند، معمولاً نادیده گرفته می‌شود — اما وقتی Timezone اشتباه باشد، می‌تواند باعث به‌هم‌ریختگی لاگ‌ها، خطا در Cron Jobها، مشکلات SSL Certificate و حتی ناهماهنگی در ایمیل‌های ارسالی شود.

در این مقاله می‌بینیم Timezone در لینوکس چطور مدیریت می‌شود، چطور آن را مشاهده و تغییر دهیم، و چرا روی سرورهای هاستینگ معمولاً توصیه می‌شود از UTC استفاده شود.


Timezone در لینوکس چطور کار می‌کند؟

لینوکس اطلاعات مربوط به تمام مناطق زمانی جهان را در پایگاه‌داده‌ای به نام tz database (یا IANA Time Zone Database) نگاه می‌دارد که در مسیر /usr/share/zoneinfo/ ذخیره شده است. هر فایل داخل این مسیر، نماینده‌ی یک منطقه‌ی زمانی مشخص است (مثلاً Asia/Tehran یا Europe/Berlin).

منطقه زمانی فعلی سیستم از طریق یک Symbolic Link به نام /etc/localtime تعیین می‌شود که به یکی از همین فایل‌ها اشاره می‌کند.


مشاهده‌ی Timezone فعلی

نمایش اطلاعات کامل زمان سیستم شامل منطقه زمانی فعلی، زمان محلی، زمان UTC و وضعیت همگام‌سازی NTP — ابزار استاندارد در توزیع‌های مبتنی بر systemd.

timedatectl

نمایش سریع تاریخ و زمان فعلی سیستم به همراه منطقه زمانی.

date
تنظیم Timezone در لینوکس

مشاهده‌ی لیست تمام Timezoneهای موجود

نمایش لیست کامل تمام مناطق زمانی قابل‌استفاده در سیستم.

timedatectl list-timezones

فیلتر کردن لیست برای پیدا کردن یک منطقه زمانی خاص.

timedatectl list-timezones | grep Tehran

تغییر Timezone

تغییر دائمی منطقه زمانی سیستم؛ این تغییر بلافاصله اعمال می‌شود و نیازی به ریبوت ندارد.

sudo timedatectl set-timezone Asia/Tehran

مثال دیگر برای یک سرور با کاربران اروپایی:

sudo timedatectl set-timezone Europe/Berlin

روش قدیمی‌تر (در سیستم‌های بدون systemd)

sudo ln -sf /usr/share/zoneinfo/Asia/Tehran /etc/localtime

ساخت دستی Symbolic Link به فایل Timezone موردنظر؛ در توزیع‌های مدرن نیازی به این روش نیست، اما دانستن آن برای عیب‌یابی مفید است.


چرا UTC روی سرورهای هاستینگ توصیه می‌شود؟

بسیاری از مدیران سرور، منطقه زمانی را روی UTC (Coordinated Universal Time) نگه می‌دارند، نه منطقه زمانی محلی خودشان یا مشتری. دلایل اصلی:

  • هماهنگی لاگ‌ها: وقتی چند سرور در مناطق زمانی مختلف دارید، لاگ‌های UTC مقایسه و تحلیل رویدادها را بسیار ساده‌تر می‌کند.
  • جلوگیری از مشکل تغییر ساعت تابستانی (DST): برخی مناطق زمانی دو بار در سال جابه‌جا می‌شوند که می‌تواند در Cron Jobها یا محاسبات زمانی برنامه‌ها اختلال ایجاد کند. UTC هرگز تغییر نمی‌کند.
  • سازگاری بهتر با ابزارهای مانیتورینگ و بکاپ‌گیری: اکثر ابزارهای مدرن سرور به‌طور پیش‌فرض با UTC کار می‌کنند.
sudo timedatectl set-timezone UTC

نکته: حتی اگر سرور روی UTC تنظیم شده باشد، معمولاً می‌توان منطقه زمانی نمایشی را در سطح برنامه (مثلاً در تنظیمات یک CMS یا برنامه‌ی وب) جداگانه برای کاربر نهایی تنظیم کرد، بدون اینکه به منطقه زمانی خود سیستم‌عامل دست زد.


ارتباط Timezone و NTP

تنظیم درست منطقه زمانی فقط نیمی از ماجراست؛ سرور همچنین باید زمان خودش را با یک منبع دقیق و قابل‌اعتماد همگام نگه دارد. این کار توسط NTP (Network Time Protocol) انجام می‌شود.

timedatectl

در خروجی این دستور، خط NTP service وضعیت فعال یا غیرفعال بودن همگام‌سازی خودکار زمان را نشان می‌دهد.

بررسی کامل نحوه‌ی تنظیم NTP، در مقاله‌ی جداگانه‌ای پوشش داده خواهد شد.


مثال‌های عملی

سناریو ۱: تنظیم Timezone یک سرور جدید بر اساس موقعیت مشتری

sudo timedatectl set-timezone Asia/Tehran
timedatectl

سناریو ۲: بررسی اینکه چرا زمان یک لاگ با ساعت واقعی مطابقت ندارد

timedatectl
date

مقایسه‌ی منطقه زمانی فعلی سیستم با انتظار شما؛ اگر سرور UTC بود و شما زمان محلی را انتظار داشتید، تفاوت ساعت طبیعی است، نه یک باگ.


اشتباهات رایج و عیب‌یابی

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

۲. تغییر Timezone بدون توجه به Cron Jobهای موجود
تغییر منطقه زمانی سرور می‌تواند زمان اجرای Cron Jobهای از قبل تنظیم‌شده را جابه‌جا کند (چون معمولاً بر اساس زمان محلی سیستم اجرا می‌شوند). بعد از هر تغییر منطقه زمانی، حتماً crontab -l را بررسی کنید.

۳. استفاده از نام‌های اختصاری مبهم مثل EST یا IRST
برخی مخفف‌های مناطق زمانی در چند منطقه‌ی مختلف دنیا مشترک هستند و باعث ابهام می‌شوند. همیشه از نام کامل استاندارد IANA استفاده کنید (مثل Asia/Tehran به‌جای IRST).


مطالعه بیشتر

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

مستندات رسمی:

  • timedatectl(1) — man7.org

جمع‌بندی

در این مقاله با مفهوم منطقه زمانی در لینوکس، فایل‌ها و مسیرهای مرتبط با آن، و دستور timedatectl برای مشاهده و تغییر آن آشنا شدید. همچنین دیدیم چرا بسیاری از سرورهای هاستینگ ترجیح می‌دهند از UTC استفاده کنند تا از مشکلات ناشی از تغییر ساعت و ناهماهنگی لاگ‌ها جلوگیری شود.


چیت شیت Timezone

دستورکاربرد
timedatectlنمایش اطلاعات کامل زمان و منطقه زمانی سیستم
dateنمایش سریع تاریخ و زمان فعلی
timedatectl list-timezonesنمایش لیست تمام مناطق زمانی موجود
timedatectl set-timezone Region/Cityتغییر منطقه زمانی سیستم
timedatectl set-timezone UTCتنظیم سیستم روی UTC

در مقاله بعدی با نحوه تنظیم NTP برای لینوکس آشنا می‌شویم.

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • آموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • آموزش نصب Docker در لینوکس
  • CI/CD چیست؟
  • آموزش تغییر Hostname سرور در لینوکس
  • آموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • آموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • بعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • آموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • آموزش محدود کردن کاربران مجاز SSH در لینوکس
  • آموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • آموزش نصب Nextcloud با Docker Compose
  • عیب‌یابی تفاوت نتیجه DNS بین سرور و کامپیوتر شخصی
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

تنظیم Timezone در لینوکس

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام