UPSC(8) راهنمای NUT UPSC(8)

upsc - کلاینت سبک و فقط‌خواندنی برای NUT

upsc [-j] -l | -L [host]

upsc [-j] ups [variable]

upsc [-j] -c ups

برنامه upsc به عنوان روشی سریع برای دریافت وضعیت یک سرور یوپی‌اس (UPS) ارائه شده است. این ابزار را می‌توان درون اسکریپت‌های پوسته و سایر برنامه‌هایی که به داده‌های UPS نیاز دارند اما نمی‌خواهند رابط کاربری کامل را پیاده‌سازی کنند، استفاده کرد.

-j

خروجی نتایج در قالب JSON. این گزینه خروجی متنی استاندارد را دور می‌زند و یک شیء JSON در stdout چاپ می‌کند. ساختار JSON به حالت اجرا بستگی دارد:
`upsc -j -l`: آرایه‌ای JSON از نام‌های UPS را برمی‌گرداند.
`upsc -j -L`: شیء JSON شامل نگاشت نام‌های UPS به توضیحات آن‌ها را برمی‌گرداند.
`upsc -j <ups>`: شیء JSON شامل تمام متغیرها و مقادیر آن‌ها را برمی‌گرداند.
`upsc -j <ups> <variable>`: یک رشته JSON منفرد (مقدار) را برمی‌گرداند.
`upsc -j -c <ups>`: آرایه‌ای JSON از آدرس‌های کلاینت‌ها را برمی‌گرداند.

-l host

فهرست کردن تمام نام‌های UPS پیکربندی‌شده در host، یک نام در هر خط. نام میزبان به طور پیش‌فرض "localhost" است. می‌توانید به صورت اختیاری دو نقطه و یک شماره پورت را اضافه کنید.

-L host

همانند بالا، فهرست کردن تمام نام‌های UPS پیکربندی‌شده در host، شامل توضیحات ارائه‌شده توسط upsd(8) دوردست از فایل ups.conf(5) آن. نام میزبان به طور پیش‌فرض "localhost" است. می‌توانید به صورت اختیاری دو نقطه و یک شماره پورت برای بازنویسی پورت پیش‌فرض اضافه کنید.

-c ups

فهرست کردن هر کلاینت متصل به ups، یک نام در هر خط.

ups

نمایش وضعیت آن UPS. قالب این گزینه به صورت upsname[@hostname[:port]] است. نام میزبان پیش‌فرض "localhost" است.

variable

فقط مقدار این متغیر را نمایش می‌دهد. به طور پیش‌فرض، upsc فهرست متغیرها را از سرور دریافت کرده و سپس مقدار هر یک را نمایش می‌دهد. این گزینه ممکن است در اسکریپت‌های پوسته برای صرفه‌جویی در لوله‌کشی (pipe) اضافی به grep مفید باشد.

-h

نمایش پیام راهنمای خط فرمان.

-D

افزایش سطح اشکال‌زدایی (debugging). برای دریافت جزئیات بیشتر، از این گزینه چندین بار استفاده کنید. متغیر محیطی اختیاری NUT_DEBUG_LEVEL را بازنویسی می‌کند.

-V

نمایش بنر نسخه NUT. جزئیات بیشتر ممکن است با اجرای دستور export NUT_DEBUG_LEVEL=1 یا سطوح پرگویی بیشتر در دسترس باشد.

-W secs

تنظیم مهلت زمانی (timeout) برای اتصالات اولیه شبکه (به طور پیش‌فرض به صورت نامحدود غیرمسدودکننده هستند، یا تا زمانی که سیستم تلاش را متوقف کند). متغیر محیطی اختیاری NUT_DEFAULT_CONNECT_TIMEOUT را بازنویسی می‌کند.

برای فهرست کردن تمام متغیرهای یک UPS به نام "myups" روی میزبان "mybox"، با اجرای upsd(8) روی پورت 1234:

:; upsc myups@mybox:1234
battery.charge: 100.0
battery.voltage: 13.9
battery.voltage.nominal: 13.6
. . .

برای دریافت تمام متغیرهای "myups" به صورت یک شیء JSON:

:; upsc -j myups@mybox:1234
{
  "battery.charge": "100.0",
  "battery.voltage": "13.9",
  "battery.voltage.nominal": "13.6",
  ...
}

برای فهرست کردن UPSهای پیکربندی‌شده روی این سیستم به همراه توضیحات آن‌ها:

:; upsc -L
apc: Back-UPS 500
ppro2: Patriot Pro II

برای دریافت وضعیت تمام UPSهای متصل به mybox با استفاده از ساختار دستور Bourne-shell:

:; for UPS in `upsc -l mybox:1234`; do
    upsc $UPS ups.status
done

برای فهرست کردن کلاینت‌های متصل به "myups":

:; upsc -c myups
127.0.0.1
::1
192.168.1.2

اگر این برنامه را درون یک اسکریپت پوسته یا موارد مشابه برای دریافت فهرست دستگاه‌ها و متغیرها اجرا می‌کنید، باید تنها از خروجی stdout استفاده کنید، نه stderr.

برنامه upsc یا فهرستی از نام‌های UPS، فهرستی از تمام متغیرهای پشتیبانی‌شده و مقادیر آن‌ها در UPS، یا یک پیام خطا چاپ خواهد کرد. اگر خطایی دریافت کردید، اطمینان حاصل کنید که یک UPS معتبر را در خط فرمان مشخص کرده‌اید، upsd(8) واقعاً روی میزبان دیگر در حال اجرا است، و هیچ فایروالی مانع شما نمی‌شود.

نسخه‌های پیشین این برنامه از کتابخانه upsfetch و سوکت‌های UDP برای گفتگو با upsd استفاده می‌کردند. این نسخه از upsc از کتابخانه جدید upsclient استفاده می‌کند که تنها از طریق TCP گفتگو می‌کند. به همین دلیل upsct دیگر وجود ندارد.

upslog(8), ups.conf(5), upsd(8)

صفحه خانگی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5

06/21/2026 Network UPS Tools 2.8.5