
نمایش آپتایم سرور لینوکس با ۱۱ دستور کاربردی و سریع
آپتایم سرور لینوکس مدت زمانی است که سیستم پس از آخرین بوت یا ریبوت، بدون وقفه و خاموشی کار میکند و معیاری اساسی برای سنجش پایداری در برابر دوانتایم به شمار میرود. برای اندازهگیری این زمان و پایش سلامت سیستم، ابزارهای متنوعی در اختیارتان قرار دارد؛ از دستورات خط فرمان بومی هسته مثل uptime و […]
نمایش آپتایم سرور لینوکس با ۱۱ دستور کاربردی و سریع
آپتایم سرور لینوکس مدت زمانی است که سیستم پس از آخرین بوت یا ریبوت، بدون وقفه و خاموشی کار میکند و معیاری اساسی برای سنجش پایداری در برابر دوانتایم به شمار میرود. برای اندازهگیری این زمان و پایش سلامت سیستم، ابزارهای متنوعی در اختیارتان قرار دارد؛ از دستورات خط فرمان بومی هسته مثل uptime و واکاوی مستقیم فایلهای مجازی /proc/uptime تا ابزارهای مانیتورینگ بلادرنگ نظیر w، top و htop، تحلیل سوابق خاموشی با tuptime و اجرای دستورات از راه دور روی پروتکل SSH که هرکدام زوایای متفاوتی از عملکرد و بار کاری سرور را روشن میکنند.
نمایش آپتایم سرور لینوکس چیست و چه اطلاعاتی به ما میدهد؟
آپتایم سرور لینوکس مدت زمانی است که سیستم عامل پس از آخرین بوت، بدون وقفه و خاموشی ناگهانی کار میکند. در محیطهای عملیاتی، با بررسی آپتایم سرور، زمان آخرین راهاندازی مجدد و مدت فعالیت پیوسته سیستمعامل مشخص میشود. بااینحال، روشن بودن سرور همیشه بهمعنای عملکرد صحیح و دسترسی پایدار به وبسایت، پایگاه داده و سایر سرویسهای آن نیست.
برای سنجش دسترسپذیری واقعی باید وضعیت سرویسها و ارتباط کاربران با آنها را نیز پایش کرد.
خروجی دستورات آپتایم تنها یک شمارنده زمان ساده نیست، بلکه وضعیت سلامت سیستم را با چند شاخص کلیدی نشان میدهد:
| شاخص خروجی | مفهوم فنی | کاربرد در عیبیابی |
| مدت زمان فعال بودن | روزها، ساعتها و دقایق سپریشده از آخرین بوت | بررسی ریبوتهای ناخواسته، کرش کرنل یا قطعی برق |
| ساعت جاری سرور | زمان رسمی ثبتشده در سیستم عامل | همگامسازی لاگها و تطبیق رویدادها |
| تعداد کاربران فعال | نشستهای آنلاین متصل به سیستم | شناسایی اتصالات همزمان و دسترسیهای ناشناس |
| میانگین بار (Load Average) | پردازشهای در صف اجرا در بازههای ۱، ۵ و ۱۵ دقیقه | تشخیص گلوگاههای پردازشی و فشار روی CPU و دیسک |
تحلیل درست بار سیستم (Load Average) ارتباط مستقیمی با تعداد هستههای پردازنده دارد؛
برای تحلیل Load Average باید تعداد هستههای پردازنده و وضعیت پردازشهای سیستم را در نظر گرفت.
مثال: عدد ۲ روی یک سرور تکهستهای میتواند نشاندهنده فشار پردازشی یا انتظار برای منابع باشد؛ درحالیکه همین عدد روی سروری با ۴ هسته معمولا فشار کمتری را نشان میدهد. البته Load Average معادل درصد مصرف CPU نیست و پردازشهای منتظر عملیات ورودی و خروجی دیسک نیز در محاسبه آن نقش دارند.
شرکت آمریکایی Red Hat در مورد ارزیابی آپتایم و اهمیت آن اینگونه میگوید:
“Documenting the system’s uptime may be important for service level agreements, performance monitoring, and general troubleshooting.” «مستندسازی آپتایم سیستم برای ارزیابی قراردادهای سطح خدمات (SLA)، مانیتورینگ عملکرد و عیبیابی عمومی زیرساخت اهمیت بالایی دارد.»
دستورات نمایش آپتایم سرور لینوکس در سطح ترمینال
هسته لینوکس برای بررسی وضعیت کارکرد ماشین، ابزارهای متنوعی در اختیارتان میگذارد که روی انواع توزیع های لینوکس بدون نیاز به ابزار جانبی اجرا میشوند.
۱. دستور uptime
سادهترین و مستقیمترین ابزار برای ارزیابی زمان فعالیت، دستور uptime است:
uptime
خروجی این دستور وضعیت فعلی سیستم را در یک سطر نمایش میدهد:
برای خوانایی بیشتر، دو سوییچ کاربردی برای این دستور وجود دارد:
- سوییچ p-: فرمت خلاصه و متنی آپتایم را بدون جزئیات بار پردازشی چاپ میکند (uptime -p).
- سوییچ s-: تاریخ و ساعت دقیق روشن شدن سرور را نشان میدهد (uptime -s).
۲. استخراج مستقیم داده از هسته (/proc/uptime)
لینوکس تمام پارامترهای زنده را در مسیر مجازی proc/ نگهداری میکند. هسته لینوکس اطلاعات مربوط به آپتایم را از طریق فایل مجازی /proc/uptime در اختیار ابزارهای سیستم قرار میدهد. با خواندن این فایل، مدت زمان فعالیت سیستم و اطلاعات زمان بیکاری پردازندهها را مشاهده میکنید.:
cat /proc/uptime
عدد اول، کل مدتزمان فعال بودن سیستم به ثانیه و عدد دوم، مدتزمان بیکار بودن (Idle) پردازنده است. با دستور زیر در بش، ثانیهها را به روز تبدیل میکنیم:
awk ‘{printf “آپتایم: %.۲f روز\n”, $1/86400}’ /proc/uptime
۳. بررسی تاریخچه نشستها با دستور last reboot
اگر میخواهید بدانید سرور در طول روزها یا ماههای گذشته چند بار بوت شده و پایداری هر نشست چقدر بوده، دستور last این گزارش را از لاگهای سیستم استخراج میکند:
last reboot

هر سطر نشاندهنده یک نشست و مدتزمان فعال بودن سیستم در آن دوره است.
۴. استخراج زمان آخرین بوت با دستور who -b
دستور who نشستهای فعال را نشان میدهد، اما اگر سوییچ b- را همراه آن اجرا کنید، فقط زمان بوت سیستم را برمیگرداند:
who -b
این دستور به دلیل سبکی و ساختار ساده، انتخابی بسیار مناسب برای نوشتن اسکریپتهای سیستمی به شمار میرود.
آموزش نمایش آپتایم سرور لینوکس در سه دستور w، top و htop
در امور حرفهای مربوط به مدیریت سرور، تنها دانستن زمان کافی نیست و رصد پروسسها اهمیت بالایی دارد که در ادامه به آنها خواهیم پرداخت.
۵. دستور w؛ پیوند آپتایم و وضعیت کاربران فعال
دستور w در خط اول خود عینا خروجی uptime را نمایش میدهد و بلافاصله مشخصات نشستهای جاری را فهرست میکند:
w
این خروجی به شما نشان میدهد بار بالای سیستم از سمت کدام کاربر و اجرای چه دستوری ایجاد میشود.
۶. پایش لحظهای منابع با دستور top
دستور top ابزار پیشفرض مانیتورینگ بلادرنگ در لینوکس است:
Top

در سطر اول خروجی و در بخش up، زمان کارکرد سیستم درج میشود. برای دریافت یک خروجی متنی بدون باز شدن محیط تعاملی، دستور زیر را اجرا میکنیم:
top -n 1 -b | head -1
۷. محیط تعاملی و دیداری htop
ابزار htop نسخه خواناتر top است که با خطوط رنگی وضعیت پردازنده و رم را نمایش میدهد. در پنل بالایی این ابزار، فیلد Uptime مدتزمان دقیق فعالیت پیوسته سرور را نشان میدهد.
Htop

ابزارهای تکمیلی؛ از مانیتورینگ مدرن تا ابزارهای آماری و گرافیکی
در ادامه چندتا از ابزارهای تکمیلی نمایش آپتایم سرور لینوکس را مورد بررسی قرار خواهیم داد.
۸. پایش زنده با رابط btop
ابزار btop یک از بهترین ابزارهای مانیتورینگ لینوکس است که رابط کاربری پیشرفتهای در خط فرمان ارائه میکند. در جعبه اصلی بالای صفحه btop، برچسب up زمان روشن بودن سیستم را نشان میدهد. ابتدا با دستور زیر ابزار را نصب کنید:
apt install -y btop
سپس دستور زیر را اجرا کنید:
btop
۹. ابزار tuptime برای آمارگیری بلندمدت و ثبت دوانتایم
دستورات عادی فقط نشست فعلی را نشان میدهند، اما پکیج tuptime تمام سوابق ریبوت، قطعیها و درصد پایداری را در دیتابیس محلی ذخیره میکند. این ابزار هم به صورت پیشفرض وجود ندارد و باید ابتدا آن را نصب کنیم:
apt install tuptime
سپس دستور زیر را اجرا میکنیم:
tuptime

۱۰. چاپ شناسنامه سیستم با fastfetch و neofetch
این ابزارها مشخصات سرور را همراه با لوگوی توزیع در ترمینال چاپ میکنند. ابزار جدیدتر fastfetch سرعت بالاتری نسبت به neofetch دارد و مقدار آپتایم را مستقیما جلوی برچسب Uptime نمایش میدهد. ابتدا باید با دستور زیر آن را نصب کنیم:
apt install -y curl && curl -sL https://github.com/fastfetch-cli/fastfetch/releases/latest/download/fastfetch-linux-amd64.deb -o fastfetch.deb && dpkg -i fastfetch.deb
سپس دستور را اجرا کنیم:
fastfetch

برای ابزار neofetch هم باید ابتدا با دستور زیر آن را نصب کنیم:
apt update && apt install -y neofetch
سپس با اجرای دستور زیر وضعیت سرور را مشاهده خواهیم کرد:
neofetch

۱۱. افزونه Uptime Indicator در محیط دسکتاپ گنوم
در سیستمهای دسکتاپ دارای رابط گرافیکی GNOME، نیازی به باز کردن مکرر ترمینال نیست. افزونه Uptime Indicator زمان فعال بودن سیستم را به شکل زنده در نوار بالای صفحه نمایش میدهد.

این تنوع بالا در ابزارهای خط فرمان و محیطهای بصری، تفاوت انعطافپذیری سیستمهای متنباز را نشان میدهد؛ عاملی که در بررسی تفاوت سرور لینوکس و ویندوز نقشی پررنگ دارد.
بررسی آپتایم سرورهای لینوکس راه دور از طریق SSH
اگر پس از خرید سرور مجازی لینوکس چندین سرور را اداره میکنید، باز کردن نشست تعاملی برای تکتک آنها زمانبر است. لینوکس این امکان را میدهد که دستور را مستقیم از راه دور ارسال و فقط پاسخ را دریافت کنید:
ssh user@remote_server_ip “uptime -p”
این دستور به سرور وصل میشود، خروجی آپتایم را روی سیستم محلی چاپ میکند و بلافاصله نشست را میبندد.
بررسی آپتایم چند سرور لینوکس بهطور همزمان با اسکریپت Bash
برای استخراج سریع وضعیت چندین نود یا سرور مختلف، یک حلقه کوتاه بش تمام اطلاعات را در چند ثانیه جمعآوری میکند:
#!/bin/bash
SERVERS=(“192.168.1.10” “192.168.1.11” “192.168.1.12”)
for server in “${SERVERS[@]}”; do
echo “=== وضعیت سرور $server ===”
ssh -o ConnectTimeout=5 root@$server “uptime”
echo “”
done
حتی اگر پروژههای خود را با خرید هاست لینوکس میزبانی کردهاید، در صورت دسترسی به شل محدود (SSH Jail) میتوانید از همین شیوه برای سنجش پایداری هاست استفاده کنید.
خودکارسازی پایش آپتایم و مستندسازی گزارشهای سرور
ثبت دورهای آپتایم به بررسی تاریخچه فعالیت و شناسایی ریبوتهای سرور کمک میکند. بااینحال، برای محاسبه درصد دسترسپذیری و ارزیابی تعهدات SLA باید زمان قطعی واقعی سرویسها را نیز با ابزارهای مانیتورینگ مستقل ثبت و بررسی کنید.
برای ذخیره خودکار این دادهها در یک فایل متنی، عملگرهای هدایت خروجی را استفاده کنید:
uptime >> /var/log/system-uptime-report.txt
ترکیب این دستور با مشخصات زمانی و شبکه، مستندات استانداردی میسازد:
date >> /var/log/system-doc.txt
hostname >> /var/log/system-doc.txt
uptime -p >> /var/log/system-doc.txt
تنظیم یک جاب در Crontab برای اجرای زمانبندیشده این دستورات، پایگاه دادهای خوانا و تاریخی از تغییرات پایداری سرور ذخیره میکند و در ردیابی مشکلات سختافزاری یا قطعیها به کار میآید.
لزوم بررسی آپتایم سرور لینوکس
بررسی مستمر زمان روشن بودن سرور تصویر دقیقی از میزان پایداری زیرساخت، سلامت سرویسها و کیفیت مدیریت سیستمعامل ارائه میدهد. این اقدام ساده ریشه بسیاری از خطاهای پنهان را قبل از متوقف شدن وبسایتها و اپلیکیشنها آشکار میسازد و مزایای زیر را به دنبال دارد:
- پایش پایداری زیرساخت و مطابقت با تعهدات قرارداد سطح خدمات (SLA)
- کشف زودهنگام نشت حافظه (Memory Leak) و فشار پنهان روی پردازنده با تحلیل Load Average
- شناسایی ریبوتهای خودکار ناشی از کرش کرنل (Kernel Panic) یا نوسانات برق دیتاسنتر
- برنامهریزی زمانبندیشده برای اعمال پچهای امنیتی هسته لینوکس بدون غافلگیری کاربران
اگر برای توسعه کسبوکار و راهاندازی وبسایتهای پرترافیک خود به پایداری بالا، دسترسی مداوم و کمترین میزان دوانتایم نیاز دارید، با خرید هاست لینوکس از پارس هاست خیالتان را از بابت کارکرد بیوقفه سرویسها و پشتیبانی فنی آسوده کنید.
سوالات متداول
١. آیا آپتایم بالا همیشه نشاندهنده امنیت و سلامت کامل سرور است؟
خیر؛ آپتایمهای بسیار طولانی (چند صد روز) معمولا نشان میدهند که سرور مدتها آپدیتهای امنیتی هسته لینوکس را دریافت نکرده است. بسیاری از وصلههای امنیتی برای فعال شدن نیاز به یک ریبوت کنترلشده دارند.
٢. تفاوت اصلی میان خروجی uptime -p و uptime -s در چیست؟
دستور uptime -p مدتزمان سپریشده از آخرین بوت را به زبانی خوانا و ساده (مانند روز، ساعت و دقیقه) نمایش میدهد، در حالی که سوییچ s- تاریخ و ساعت دقیق روشن شدن سرور را تحویل میدهد.
٣. در صورت بالا بودن اعداد Load Average، چگونه پروسسهای مقصر را پیدا کنیم؟
با اجرای ابزارهایی نظیر top یا htop میتوانید لیست فرایندهای فعال را بر اساس بیشترین مصرف پردازنده یا حافظه سورت کنید و برنامه یا درخواستی را که سیستم را زیر فشار برده شناسایی نمایید.
۴. چرا دادههای خروجی proc/uptime/ بر حسب ثانیه ثبت میشوند؟
کرنل لینوکس این مقادیر را مستقیما به عنوان داده خام برای پردازشهای سیستمی تولید میکند تا ابزارهای خط فرمان و اسکریپتهای مانیتورینگ بتوانند این ثانیهها را متناسب با نیاز خود قالببندی و محاسبه کنند.
۰