NUT.CONF(5) NUT Manual NUT.CONF(5)

nut.conf - فایل پیکربندی نوع راه‌اندازی و حالت کاری NUT

این فایل تلاش می‌کند فایل‌های مختلف موجود در توزیع‌های گوناگون مانند /etc/default/nut در سیستم‌های مبتنی بر دبیان و /etc/sysconfig/ups در سیستم‌های مبتنی بر ردهت را استانداردسازی کند.

اسکریپت init (یا روش مدیریت سرویس) ارائه‌شده توسط توزیع سیستم‌عامل باید این فایل را سورس (source) کند تا مشخص شود کدام مؤلفه‌ها باید راه‌اندازی شوند؛ همچنین اسکریپت قلاب یکپارچه‌سازی nutshutdown و سایر ابزارها ممکن است به این فایل مراجعه کنند.

خطوط خالی نادیده گرفته می‌شوند. خطوطی که در اولین نویسه آن‌ها علامت هش (#) قرار دارد نیز نادیده گرفته می‌شوند. از این خطوط می‌توان برای افزودن توضیحات استفاده کرد.

•این فایل برای سورس شدن توسط اسکریپت‌های شل و همچنین فریم‌ورک‌های مدیریت سرویس مانند systemd در لینوکس در نظر گرفته شده است:
•هیچ تضمینی برای پشتیبانی از نحو export VAR=VAL وجود ندارد
•هیچ تضمینی برای بسط متغیرها مانند VAR1="$VAR2-something" — تنها انتساب‌های صریح و مستقیم (verbatim) وجود ندارد
•ممکن است هنگام سورس کردن این فایل در اسکریپت‌های init یا اسکریپت‌های دیگر، نیاز به استفاده از دستور export VAR داشته باشید تا در نهایت برخی تنظیمات به برنامه‌های NUT منتقل شوند. متغیرهایی که export نشده‌اند فقط توسط همان اسکریپتی که فایل را سورس کرده است قابل استفاده هستند (و آن اسکریپت ممکن است خود تصمیم بگیرد آن‌ها را به‌طور مستقل export کند).
•شما نباید به هیچ عنوان از فاصله (space) در اطراف علامت مساوی استفاده کنید!
•پشتیبانی عملی از این فایل و تنظیمات آن در حال حاضر بین بسته‌های مختلف سیستم‌عامل و اسکریپت‌های نمونه NUT متفاوت است، اما به مرور زمان همگرا خواهد شد.
•محتوای این فایل باید صرفاً نویسه‌های اَسکی (ASCII خالص) باشد (کدهای نویسه‌ای خارج از این محدوده با یک پیام هشدار نادیده گرفته خواهند شد).

برای مشاهده نمونه‌ها به بخش مثال‌ها مراجعه کنید.

MODE

الزامی است. مقادیر معتبر عبارتند از none، standalone، netserver و netclient. مقدار پیش‌فرض none است.

none

مشخص می‌کند که NUT نباید به‌طور خودکار راه‌اندازی شود؛ احتمالاً به این دلیل که هنوز پیکربندی نشده است، یا اینکه از یک سامانه مدیریت یکپارچه توان (Integrated Power Management) یا سیستمی خارجی برای راه‌اندازی مؤلفه‌های NUT استفاده می‌شود.

standalone

به یک پیکربندی صرفاً محلی اشاره دارد که در آن ۱ دستگاه UPS از سیستم محلی محافظت می‌کند. این حالت مستلزم راه‌اندازی هر ۳ لایه NUT (درایور، upsd و upsmon) به همراه فایل‌های پیکربندی مربوطه است. این حالت کاری همچنین می‌تواند افزونگی UPS را نیز پشتیبانی کند.

netserver

مشابه پیکربندی standalone است، اما احتمالاً به یک یا چند دستورالعمل مشخص LISTEN در upsd.conf نیز نیاز دارد. از آنجا که این MODE بر روی شبکه باز است، باید توجه ویژه‌ای به مسائل امنیتی مبذول شود.

netclient

هنگامی که فقط به upsmon نیاز باشد، مثلاً به این دلیل که میزبان‌های دیگری وجود دارند که مستقیماً به UPS متصل هستند، مقدار MODE باید روی netclient تنظیم شود.

ALLOW_NO_DEVICE

اختیاری، با مقدار پیش‌فرض false. این گزینه را روی true تنظیم کنید تا اجازه راه‌اندازی سرویس سرور داده NUT یعنی upsd داده شود، حتی اگر در حال حاضر هیچ بخشی برای دستگاه‌ها در ups.conf پیکربندی نشده باشد. این متغیر محیطی بر مقدار پرچم توکار «false» در برنامه upsd و پرچم پیش‌فرض اختیاری با همین نام که می‌تواند در upsd.conf تنظیم شود، تقدم دارد و آن را بازنویسی می‌کند.

اگر می‌خواهید سرور داده همیشه در حال اجرا باشد و روی شبکه پاسخ دهد، حتی اگر در ابتدا چیزی برای ارائه نداشته باشد (تا بعداً با پیکربندی دستگاه‌ها به‌صورت زنده مجدداً بارگذاری شود)، این گزینه مناسب شماست.

ALLOW_NOT_ALL_LISTENERS

اختیاری، با مقدار پیش‌فرض false. این گزینه را روی true تنظیم کنید تا اجازه راه‌اندازی سرور داده NUT یعنی upsd داده شود، حتی اگر در حال حاضر تمام دستورالعمل‌های LISTEN قابل اجرا نباشند. این متغیر محیطی بر پرچم توکار «false» در برنامه upsd و پرچم پیش‌فرض اختیاری هم‌نام که می‌تواند در upsd.conf تنظیم شود، اولویت دارد و آن را بازنویسی می‌کند.

اگر می‌خواهید سرور داده همیشه در حال اجرا باشد، حتی اگر احتمالاً در هر زمان راه‌اندازی به همه کلاینت‌ها سرویس ندهد، این گزینه برای شما مناسب است (توجه داشته باشید که اگر آدرس IP شنودشده بعداً ظاهر شود، برای اعمال آن باید upsd را مجدداً راه‌اندازی کنید).

احتمالاً پیکربندی LISTEN * در چنین مواردی انتخاب بهتری است.

UPSD_OPTIONS

اختیاری. گزینه‌های اختصاصی upsd را تنظیم می‌کند. برای جزئیات بیشتر به upsd(8) مراجعه کنید. در صورتی که MODE در بالا نشان دهد که هیچ upsd نباید اجرا شود، این گزینه نادیده گرفته می‌شود.

UPSMON_OPTIONS

اختیاری. گزینه‌های اختصاصی upsmon را تنظیم می‌کند. برای جزئیات بیشتر به upsmon(8) مراجعه کنید. در صورتی که MODE در بالا نشان دهد که هیچ upsmon نباید اجرا شود، این گزینه نادیده گرفته می‌شود.

POWEROFF_WAIT

اختیاری. در پایان توقف اضطراری سیستم، سرویس اولیه upsmon به UPS فرمان می‌دهد تا برق را قطع کند. این کار ممکن است بنا به دلایلی ناموفق باشد. از جمله مهم‌ترین آن‌ها بازگشت برق شهری در حین فرآیند خاموش شدن است. بخش «Power races» را در /usr/share/doc/nut/FAQ.txt.gz ببینید. سیستم این مدت زمان را منتظر می‌ماند تا UPS برق را قطع کند و سپس راه‌اندازی مجدد (reboot) می‌شود. این مدت باید به اندازه کافی طولانی باشد تا در صورتی که برق شهری همچنان قطع است باتری‌ها تخلیه شوند. از سوی دیگر، نباید آن‌قدر طولانی باشد که اگر برق شهری وصل شده باشد، سیستم برای مدت نامعقولی آفلاین بماند. برای نحو زمان سازگار به sleep(1) مراجعه کنید. اگر زمان را بر حسب ثانیه مشخص می‌کنید، از پسوند «s» استفاده کنید.

هشدار
این راهکار ممکن است در برخی شرایط خطرناک باشد. لطفاً برای جزئیات بیشتر نشانی http://bugs.debian.org/358696 را مطالعه فرمایید.

POWEROFF_QUIET

اختیاری، با مقدار پیش‌فرض false. این تنظیم مشخص می‌کند که آیا اسکریپت‌های یکپارچه‌سازی خاموش کردن NUT یا واحدهای سرویس، پیام‌هایی درباره فعالیت خود (یا عدم فعالیت) ارسال کنند یا خیر. به‌طور پیش‌فرض آن‌ها ممکن است پرحرف (verbose) باشند تا از طریق لاگ‌ها یا خروجی کنسول به عیب‌یابی پس از خاموشی سیستم کمک کنند. اگر این اطلاعات را نوفه و داده‌های زائد می‌دانید، آن را روی true تنظیم کنید تا از تولید آن جلوگیری شود.

NUT_DEBUG_LEVEL

اختیاری، با مقدار پیش‌فرض 0. این تنظیم، سطح پیش‌فرض پرحرفی پیام‌های اشکال‌زدایی ارسالی به دیمن‌های NUT را کنترل می‌کند. به عنوان یک متغیر محیطی، اولویت آن میان تنظیم DEBUG_MIN در درایور و گزینه‌های خط فرمان قرار می‌گیرد.

NUT_DEBUG_PID

اختیاری. شناسه فرآیند (PID) جاری را به برچسب‌های حاوی شناسه‌های سطح اشکال‌زدایی اضافه می‌کند. این ویژگی زمانی مفید است که چندین دیمن NUT در یک کنسول یا فایل لاگ مشترک می‌نویسند؛ مانند کانتینرها یا افزونه‌ها برای Home Assistant، تجهیزات ذخیره‌سازی و غیره.

NUT_DEBUG_PROCNAME

اختیاری. نام فرآیند (یا هر عنوانی که برنامه برای معرفی خود انتخاب کرده) را لاگ می‌کند. این قابلیت زمانی مفید است که چندین دیمن NUT در یک فایل یا کنسول مشترک، بدون استفاده از syslog برای درج پیشوند نام در هر خط لاگ می‌اندازند (مثلاً در تست‌ها، سیستم‌های دارای اسکریپت init منفرد مانند Home Assistant و غیره).

NUT_DEBUG_SYSLOG

اختیاری، به‌طور پیش‌فرض مقداردهی‌نشده است. به‌طور معمول NUT می‌تواند از syslog یا Event Log (در WIN32) استفاده کند (یا تلاش کند استفاده کند)، اما متغیر محیطی NUT_DEBUG_SYSLOG امکان نادیده گرفتن آن و ارسال لاگ دیمن‌ها به stderr را فراهم می‌سازد (که مثلاً در مجموعه آزمون‌های یکپارچه‌سازی NUT برای آلوده نشدن لاگ‌های سیستم‌عامل، یا در systemd که هر دو stderr و syslog به یک ژورنال وارد می‌شوند مفید است). مقادیر شناخته‌شده:
مقدار توضیحات
stderr غیرفعال است و `background()` خروجی `stderr` را متصل نگه می‌دارد
none غیرفعال است و `background()` خروجی `stderr` را مانند معمول جدا می‌کند
default غیرفعال نیست
unset/other غیرفعال نیست

NUT_IGNORE_CHECKPROCNAME

اختیاری، با مقدار پیش‌فرض false. به‌طور معمول هنگام استفاده از فایل‌های PID برای ارسال سیگنال‌ها، NUT می‌تواند بررسی کند (یا تلاش کند بررسی نماید) که نام فایل برنامه با نام مرتبط با فرآیند در حال اجرا مطابقت داشته باشد.

کلید بولی NUT_IGNORE_CHECKPROCNAME امکان نادیده گرفتن سریع این بررسی را در صورتی که مشکلی ایجاد کند (مثلاً برنامه‌های NUT تغییر نام یافته باشند و با انتظارات توکار مطابقت نداشته باشند) فراهم می‌کند.

این متغیر محیطی همچنین می‌تواند به‌صورت اختیاری در اسکریپت‌های init یا روش‌های مدیریت سرویس برای upsd، upsmon و درایورهای NUT یا upsdrvctl تنظیم شود.

NUT_QUIET_INIT_UPSNOTIFY

پرچمی اختیاری برای جلوگیری از ارسال پیام‌های پر سر و صدا توسط دیمن‌هایی است که می‌توانند فریم‌ورک‌های مدیریت سرویس (مانند systemd) را از پشت سر گذاشتن مراحل چرخه حیات خود مطلع کنند، در صورتی که نتوانند این کار را انجام دهند (مثلاً اجرای دیمن روی سیستمی فاقد چنین فریم‌ورکی، یا پیکربندی نادرست که مانع از ارسال گزارش شده و ممکن است باعث شود سیستم‌عامل در نهایت سرویسی را که به اشتباه «پاسخ‌نداده» تلقی شده مجدداً راه‌اندازی کند).

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

# /etc/nut/nut.conf.  See nut.conf(5)
MODE=none
UPSD_OPTIONS=""
UPSMON_OPTIONS=""
# POWEROFF_WAIT=15m

انتظار می‌رود یک اسکریپت init مانند /etc/init.d/nut این فایل را سورس (source) کند تا مشخص شود کدام مؤلفه‌ها باید راه‌اندازی شوند.

ups.conf(5), upsd.conf(5), upsd.users(5), upsmon.conf(5)

وب‌گاه رسمی NUT (ابزارهای UPS تحت شبکه): https://www.networkupstools.org/historic/v2.8.5

06/21/2026 Network UPS Tools 2.8.5