| UPSDRVCTL(8) | راهنمای NUT | UPSDRVCTL(8) |
نام (NAME)
upsdrvctl - کنترلکننده درایور Network UPS Tools
خلاصه دستور (SYNOPSIS)
upsdrvctl -h
upsdrvctl [گزینهها] {start | stop | shutdown | status} [ups]
upsdrvctl [گزینهها] {list | -l} [ups]
upsdrvctl [گزینهها] -c COMMAND [ups]
توضیحات (DESCRIPTION)
دستور upsdrvctl یک رابط یکپارچه برای کنترل درایورهای UPS شما فراهم میکند. هر زمان که امکانپذیر است، باید بهجای فراخوانی مستقیم درایورها از دستور upsdrvctl استفاده کنید.
هنگامی که به درستی استفاده شود، upsdrvctl به شما امکان میدهد اسکریپتهای راهاندازی یکسانی را در چندین سیستم با پیکربندیهای مختلف UPS حفظ کنید.
هشدار
برای سیستمهای عاملی با چارچوبهای مدیریت سرویس، مانند Solaris/illumos SMF یا Linux systemd، ممکن است upsdrvsvcctl(8) انتخاب بهتری باشد.
در واقع، نمونههای سرویسی که توسط nut-driver-enumerator(8) بر اساس محتویات فایل ups.conf(5) شما آماده شده و بهطور خودکار توسط چارچوب مربوطه نگهداری میشوند، میتوانند با اجرای دستی درایورها تداخل داشته باشند. در این حالت، upsdrvctl در ساختهایی از NUT که این قابلیت را دارند هشداری صادر میکند (میتوان با صادر کردن متغیر محیطی NUT_QUIET_INIT_NDE_WARNING با هر مقداری، این هشدار را بیصدا کرد).
ممکن است برای عیبیابی لازم باشد واحدهای سرویس را (در صورت استفاده) متوقف کرده و برنامههای درایور را مستقیماً اجرا کنید نه از طریق upsdrvctl؛ برای مثال جهت تسهیل جمعآوری گزارشهای اشکالزدایی یا آزمایش هرگونه ساخت سفارشی درایورها بدون تداخل با نمونه بستهبندیشدهای که به طور عادی در حال اجراست.
گزینهها (OPTIONS)
-h
-r directory
این مقدار را میتوان در ups.conf(5) با دستورالعمل chroot در بخش سراسری تنظیم کرد.
-t
این گزینه میتواند هنگام تعریف دستورالعمل sdorder در بخش مربوط به دستگاه در ups.conf(5) مفید باشد.
-u username
اگر درایور به عنوان root بدون تعیین این مقدار اجرا شود، از نام کاربری که در فایل باینری کامپایل شده است استفاده خواهد کرد. مقدار پیشفرض آن nobody است (اگر جور دیگری پیکربندی نشده باشد)، که اصلاً ایدهآل نیست.
این مقدار را میتوان در ups.conf(5) با دستورالعمل user در بخش سراسری تنظیم کرد.
-D
توجه داشته باشید که این کار مانع از خروج ابزار upsdrvctl پس از انجام کارش نمیشود (با این حال گزینه صریح -F این کار را میکند).
همچنین توجه داشته باشید که این گزینه به تنهایی پرگویی اشکالزدایی ابزار را تغییر میدهد، اما بر درایورهایی که راهاندازی میکند تأثیری ندارد. برای این منظور به گزینه اضافی -d مراجعه کنید.
-d
توجه داشته باشید که به طور پیشفرض برای دیمنهای NUT، فعال بودن اشکالزدایی به معنای اجرا در حالت پیشزمینه (foreground) است؛ میتوانید علاوه بر این، گزینه -B را برای جلوگیری از آن مشخص کنید.
-F
همچنین منتظر تکمیل مقداردهی اولیه درایورها نمیماند، بنابراین upsdrvctl درباره چنین موقعیتهایی هشدار خواهد داد.
دو بار مشخص کنید (-FF یا -F -F) تا فایل PID درایور حتی در این حالت نیز ذخیره شود (به طور پیشفرض هنگام ماندن در پیشزمینه ذخیره نمیشود).
-B
-l
دستورات (COMMANDS)
ابزار upsdrvctl از سه دستور فعال پشتیبانی میکند — start، stop و shutdown. همچنین از ارسال درخواستها به درایورهای در حال اجرا با استفاده از نحو -c COMMAND مشابه برخی دیمنهای دیگر پشتیبانی میکند. چند دستور کمکی نیز در دسترس هستند — list و status.
همه آنها میتوانند یک آرگومان اختیاری دریافت کنند که نام یک UPS از ups.conf(5) است. بدون این آرگومان، آنها بر روی هر UPS که در حال حاضر پیکربندی شده است عمل میکنند.
نکته
ابزار upsdrvctl نمیتواند دستگاههایی را که در ups.conf فهرست نشدهاند مدیریت کند (مانند درایورهای آزمایشی که با گزینه -s TMP شروع شدهاند).
start
درباره این گزینهها به ups.conf(5) مراجعه کنید. مقادیر پیشفرض توکار عبارتند از: maxstartdelay=75 (ثانیه)، maxretry=1 (به معنای یک تلاش برای شروع)، retrydelay=5 (ثانیه).
stop
shutdown
هشدار
این کار احتمالاً رایانههای شما را خاموش میکند، بنابراین با این گزینه بازی نکنید. فقط زمانی از آن استفاده کنید که سیستمهای شما آماده قطع برق باشند.
نکته
برای استفاده از پارامتر nowait به ups.conf(5) مراجعه کنید. این مقدار را میتوان با متغیر محیطی NUT_IGNORE_NOWAIT لغو کرد (به عنوان مثال برای دور زدن برخی مشکلات با systemd در غیر این صورت استفاده میشود).
list
نکته
اگر فایل ups.conf پیدا نشود، قابل خواندن نباشد، یا هیچ بخش دستگاهی تعریف نکرده باشد (که نام آنها در اینجا گزارش شده و در دستورات دیگر مدیریت میشود)، این ابزار با خطا خارج خواهد شد.
نکته
سطر بنر نام ابزار و نسخه NUT نیز قبل از هر پردازش دیگری در stdout چاپ میشود. این را میتوان با متغیر محیطی NUT_QUIET_INIT_BANNER (صادرشده توسط فراخواننده و خالی یا "true") سرکوب کرد:
:; NUT_QUIET_INIT_BANNER=true upsdrvctl list dummy UPS1 UPS2
status
:; NUT_QUIET_INIT_BANNER=true upsdrvctl status UPSNAME UPSDRV RUNNING PF_PID S_RESPONSIVE S_PID S_STATUS dummy dummy-ups N/A -3 NOT_RESPONSIVE N/A eco650 usbhid-ups RUNNING 3559207 RESPONSIVE 3559207 "OL" UPS2 dummy-ups RUNNING 31455 RESPONSIVE 31455 "OL BOOST"
مقادیر با کلید TAB جدا شدهاند، اما UPSNAME و UPSDRV ممکن است به ترتیب با فاصلهها در سمت راست و چپ پر شوند. هر مقدار رشتهای پیچیده در نقلقول دوتایی محصور میشود.
فیلدهای گزارششده (PF_* = بر اساس فایل PID، در صورت وجود؛ S_* = از طریق پروتکل سوکت):
UPSNAME
UPSDRV
RUNNING
PF_PID
S_RESPONSIVE
S_PID
S_STATUS
این حالت درایورهایی را که در ups.conf نیستند (مانند درایورهایی که به صورت دستی برای آزمایش با گزینههای متعدد خط فرمان -x راهاندازی شدهاند) شناسایی نمیکند.
-c command
dump
reload
reload-or-error
reload-or-exit
exit
اگر upsdrvctl برای ماندن در حافظه و مدیریت فرایندهای درایور NUT راهاندازی شده باشد، میتواند سیگنالهای پشتیبانیشده را دریافت کرده و به آن درایورها منتقل کند.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
متغیر NUT_DEBUG_LEVEL سطح پرگویی اشکالزدایی پیشفرض را تعیین میکند اگر هیچ آرگومان -D در خط فرمان ارائه نشده باشد، اما درخواست اجرای دیمن در حالت پیشزمینه را نمیدهد.
متغیر NUT_CONFPATH نام مسیر دایرکتوری حاوی ups.conf و سایر فایلهای پیکربندی است. اگر این متغیر تنظیم نشده باشد، upsdrvctl (و درایورها) از یک مقدار پیشفرض توکار استفاده میکنند که معمولاً /usr/local/ups/etc است.
متغیر NUT_ALTPIDPATH نام مسیر دایرکتوری است که upsd و درایورها فایلهای .pid را در آن ذخیره میکنند. اگر این متغیر تنظیم نشده باشد، upsd و درایورها در صورت تنظیم بودن از NUT_STATEPATH، یا در صورت تنظیم بودن از ALTPIDPATH، یا در غیر این صورت از مقدار پیشفرض توکار STATEPATH استفاده میکنند.
تشخیص عیب (DIAGNOSTICS)
اگر upsdrvctl هنگام انجام عملیات درخواستی با خطایی مواجه شود، یک کد خروج غیر صفر برمیگرداند. این امر همچنین در صورتی رخ میدهد که ورود یک درایور به پسزمینه بیش از دوره زمانی maxstartdelay طول بکشد.
همچنین ببینید (SEE ALSO)
upsdrvsvcctl(8), nut-driver-enumerator(8), nutupsdrv(8), upsd(8), ups.conf(5)
منابع اینترنتی:
صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5
| 06/21/2026 | Network UPS Tools 2.8.5 |