'\" t .\" Title: upsdrvctl .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 06/21/2026 .\" Manual: راهنمای NUT .\" Source: Network UPS Tools 2\&.8\&.5 .\" Language: Persian .\" .TH "UPSDRVCTL" "8" "06/21/2026" "Network UPS Tools 2\&.8\&.5" "راهنمای NUT" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" upsdrvctl \- کنترل‌کننده درایور Network UPS Tools .SH "خلاصه دستور (SYNOPSIS)" .sp \fBupsdrvctl\fR \-h .sp \fBupsdrvctl\fR [\fIگزینه‌ها\fR] {start | stop | shutdown | status} [\fIups\fR] .sp \fBupsdrvctl\fR [\fIگزینه‌ها\fR] {list | \-l} [\fIups\fR] .sp \fBupsdrvctl\fR [\fIگزینه‌ها\fR] \-c COMMAND [\fIups\fR] .SH "توضیحات (DESCRIPTION)" .sp دستور \fBupsdrvctl\fR یک رابط یکپارچه برای کنترل درایورهای UPS شما فراهم می‌کند\&. هر زمان که امکان‌پذیر است، باید به‌جای فراخوانی مستقیم درایورها از دستور upsdrvctl استفاده کنید\&. .sp هنگامی که به درستی استفاده شود، upsdrvctl به شما امکان می‌دهد اسکریپت‌های راه‌اندازی یکسانی را در چندین سیستم با پیکربندی‌های مختلف UPS حفظ کنید\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBهشدار\fR .ps -1 .br .sp برای سیستم‌های عاملی با چارچوب‌های مدیریت سرویس، مانند Solaris/illumos SMF یا Linux systemd، ممکن است \fBupsdrvsvcctl\fR(8) انتخاب بهتری باشد\&. .sp در واقع، نمونه‌های سرویسی که توسط \fBnut-driver-enumerator\fR(8) بر اساس محتویات فایل \fBups.conf\fR(5) شما آماده شده و به‌طور خودکار توسط چارچوب مربوطه نگهداری می‌شوند، می‌توانند با اجرای دستی درایورها تداخل داشته باشند\&. در این حالت، upsdrvctl در ساخت‌هایی از NUT که این قابلیت را دارند هشداری صادر می‌کند (می‌توان با صادر کردن متغیر محیطی NUT_QUIET_INIT_NDE_WARNING با هر مقداری، این هشدار را بی‌صدا کرد)\&. .sp .5v .RE .sp ممکن است برای عیب‌یابی لازم باشد واحدهای سرویس را (در صورت استفاده) متوقف کرده و برنامه‌های درایور را مستقیماً اجرا کنید نه از طریق upsdrvctl؛ برای مثال جهت تسهیل جمع‌آوری گزارش‌های اشکال‌زدایی یا آزمایش هرگونه ساخت سفارشی درایورها بدون تداخل با نمونه بسته‌بندی‌شده‌ای که به طور عادی در حال اجراست\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-h\fR .RS 4 نمایش متن راهنما\&. .RE .PP \fB\-r\fR \fIdirectory\fR .RS 4 در صورت راه‌اندازی یک درایور، این مقدار آن را هدایت می‌کند تا به \fIdirectory\fR وارد شود (\fBchroot\fR(2))\&. این گزینه می‌تواند هنگام ایمن‌سازی سیستم‌ها مفید باشد\&. .sp این مقدار را می‌توان در \fBups.conf\fR(5) با دستورالعمل chroot در بخش سراسری تنظیم کرد\&. .RE .PP \fB\-t\fR .RS 4 فعال‌سازی حالت آزمایشی\&. این کار حالت اشکال‌زدایی را نیز فعال می‌کند\&. حالت آزمایشی باعث می‌شود upsdrvctl کارهایی را که اجرا خواهد کرد بدون انجام واقعی آن‌ها نمایش دهد\&. از این گزینه برای آزمایش پیکربندی خود بدون انجام هیچ کاری روی درایورهای UPS استفاده کنید\&. .sp این گزینه می‌تواند هنگام تعریف دستورالعمل sdorder در بخش مربوط به دستگاه در \fBups.conf\fR(5) مفید باشد\&. .RE .PP \fB\-u\fR \fIusername\fR .RS 4 در صورت راه‌اندازی یک درایور، این مقدار آن را هدایت می‌کند تا شناسه کاربری (\fBsetuid\fR(2)) خود را به کاربر مرتبط با \fIusername\fR تغییر دهد\&. .sp اگر درایور به عنوان \fIroot\fR بدون تعیین این مقدار اجرا شود، از نام کاربری که در فایل باینری کامپایل شده است استفاده خواهد کرد\&. مقدار پیش‌فرض آن \fInobody\fR است (اگر جور دیگری پیکربندی نشده باشد)، که اصلاً ایده‌آل نیست\&. .sp این مقدار را می‌توان در \fBups.conf\fR(5) با دستورالعمل user در بخش سراسری تنظیم کرد\&. .RE .PP \fB\-D\fR .RS 4 افزایش سطح اشکال‌زدایی (debug level)\&. برای جزئیات بیشتر، چندین بار از این گزینه استفاده کنید\&. از طرف دیگر، این مقدار را می‌توان از طریق debug_min در بخش سراسری \fBups.conf\fR(5) تنظیم کرد\&. توجه داشته باشید که تنظیمات سراسری هم برای ابزار و هم برای درایور راه‌اندازی‌شده اعمال می‌شود؛ اما خط دیگری در بخش اختصاصی یک درایور می‌تواند آن را با مقداری بزرگ‌تر یا کوچک‌تر بازنویسی کند (از جمله debug_min=0 برای غیرفعال کردن ردگیری درایور به صورت پیش‌فرض)\&. .sp توجه داشته باشید که این کار مانع از خروج ابزار upsdrvctl پس از انجام کارش نمی‌شود (با این حال گزینه صریح \fB\-F\fR این کار را می‌کند)\&. .sp همچنین توجه داشته باشید که این گزینه به تنهایی پرگویی اشکال‌زدایی ابزار را تغییر می‌دهد، اما بر درایورهایی که راه‌اندازی می‌کند تأثیری ندارد\&. برای این منظور به گزینه اضافی \fB\-d\fR مراجعه کنید\&. .RE .PP \fB\-d\fR .RS 4 ارسال سطح اشکال‌زدایی انتخاب‌شده از upsdrvctl به درایورهای راه‌اندازی‌شده\&. .sp توجه داشته باشید که به طور پیش‌فرض برای دیمن‌های NUT، فعال بودن اشکال‌زدایی به معنای اجرا در حالت پیش‌زمینه (foreground) است؛ می‌توانید علاوه بر این، گزینه \fB\-B\fR را برای جلوگیری از آن مشخص کنید\&. .RE .PP \fB\-F\fR .RS 4 درایور بدون توجه به تنظیمات اشکال‌زدایی، در پیش‌زمینه اجرا خواهد شد (از فرایند upsdrvctl جدا یا fork نمی‌شود)\&. این گزینه همچنین خود برنامه ابزار را در پیش‌زمینه نگه می‌دارد در حالی که دیمن‌های درایور به عنوان فرزندان آن اجرا می‌شوند (در صورت راه‌اندازی تنها یک درایور، حتی fork نیز نمی‌کند)\&. .sp همچنین منتظر تکمیل مقداردهی اولیه درایورها نمی‌ماند، بنابراین upsdrvctl درباره چنین موقعیت‌هایی هشدار خواهد داد\&. .sp دو بار مشخص کنید (\-FF یا \-F \-F) تا فایل PID درایور حتی در این حالت نیز ذخیره شود (به طور پیش‌فرض هنگام ماندن در پیش‌زمینه ذخیره نمی‌شود)\&. .RE .PP \fB\-B\fR .RS 4 درایورها بدون توجه به تنظیمات اشکال‌زدایی که توسط \fB\-D\fR تنظیم شده و توسط گزینه‌های \fB\-d\fR منتقل شده‌اند، در پس‌زمینه اجرا خواهند شد\&. .RE .PP \fB\-l\fR .RS 4 نام مستعار برای دستور list\&. .RE .SH "دستورات (COMMANDS)" .sp ابزار upsdrvctl از سه دستور فعال پشتیبانی می‌کند \(em start، stop و shutdown\&. همچنین از ارسال درخواست‌ها به درایورهای در حال اجرا با استفاده از نحو \-c COMMAND مشابه برخی دیمن‌های دیگر پشتیبانی می‌کند\&. چند دستور کمکی نیز در دسترس هستند \(em list و status\&. .sp همه آن‌ها می‌توانند یک آرگومان اختیاری دریافت کنند که نام یک UPS از \fBups.conf\fR(5) است\&. بدون این آرگومان، آن‌ها بر روی هر UPS که در حال حاضر پیکربندی شده است عمل می‌کنند\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .sp ابزار upsdrvctl نمی‌تواند دستگاه‌هایی را که در ups\&.conf فهرست نشده‌اند مدیریت کند (مانند درایورهای آزمایشی که با گزینه \-s TMP شروع شده‌اند)\&. .sp .5v .RE .PP \fBstart\fR .RS 4 راه‌اندازی درایور(های) UPS\&. در صورت عدم موفقیت در راه‌اندازی در بازه زمانی \fImaxstartdelay\fR، تلاش‌های بعدی ممکن است با استفاده از مقادیر \fImaxretry\fR و \fIretrydelay\fR انجام شوند\&. برعکس، گزینه سراسری \fInowait\fR را می‌توان به ویژه برای سرعت بخشیدن به راه‌اندازی موازی بسیاری از درایورها استفاده کرد\&. .sp درباره این گزینه‌ها به \fBups.conf\fR(5) مراجعه کنید\&. مقادیر پیش‌فرض توکار عبارتند از: \fImaxstartdelay=75\fR (ثانیه)، \fImaxretry=1\fR (به معنای یک تلاش برای شروع)، \fIretrydelay=5\fR (ثانیه)\&. .RE .PP \fBstop\fR .RS 4 متوقف کردن درایور(های) UPS\&. این دستور فرمانی به UPS ارسال نمی‌کند\&. .RE .PP \fBshutdown\fR .RS 4 دستور به درایور(های) UPS برای اجرای توالی خاموش‌سازی آن‌ها\&. این فرض می‌کند که درایور دیگر در حال اجرا نیست و یک نمونه تازه را از طریق drivername \-k شروع می‌کند\&. این دستور به عنوان آخرین مرحله در خاموش کردن سیستم، پس از اینکه سیستم‌های فایل دیگر به صورت \fIrw\fR (خواندنی-نوشتنی) سوار (mount) نیستند، در نظر گرفته شده است\&. درایورها بر اساس مقدار sdorder آن‌ها متوقف می‌شوند \(em به \fBups.conf\fR(5) مراجعه کنید\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBهشدار\fR .ps -1 .br .sp این کار احتمالاً رایانه‌های شما را خاموش می‌کند، بنابراین با این گزینه بازی نکنید\&. فقط زمانی از آن استفاده کنید که سیستم‌های شما آماده قطع برق باشند\&. .sp .5v .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .sp برای استفاده از پارامتر \fBnowait\fR به \fBups.conf\fR(5) مراجعه کنید\&. این مقدار را می‌توان با متغیر محیطی NUT_IGNORE_NOWAIT لغو کرد (به عنوان مثال برای دور زدن برخی مشکلات با systemd در غیر این صورت استفاده می‌شود)\&. .sp .5v .RE .PP \fBlist\fR .RS 4 بدون آرگومان بعدی، نام تمام پیکربندی‌های دستگاه‌های شناخته‌شده فعلی را در stdout، یکی در هر سطر گزارش می‌دهد\&. همراه با یک آرگومان، سعی می‌کند آن نام را نیز گزارش دهد، اما اگر آن نام شناخته‌شده نباشد، با یک کد خطا خارج می‌شود\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .sp اگر فایل ups\&.conf پیدا نشود، قابل خواندن نباشد، یا هیچ بخش دستگاهی تعریف نکرده باشد (که نام آن‌ها در اینجا گزارش شده و در دستورات دیگر مدیریت می‌شود)، این ابزار با خطا خارج خواهد شد\&. .sp .5v .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .sp سطر بنر نام ابزار و نسخه NUT نیز قبل از هر پردازش دیگری در stdout چاپ می‌شود\&. این را می‌توان با متغیر محیطی NUT_QUIET_INIT_BANNER (صادرشده توسط فراخواننده و خالی یا "true") سرکوب کرد: .sp .5v .RE .sp .if n \{\ .RS 4 .\} .nf :; NUT_QUIET_INIT_BANNER=true upsdrvctl list dummy UPS1 UPS2 .fi .if n \{\ .RE .\} .PP \fBstatus\fR .RS 4 مشابه list، اما اطلاعات بیشتری را گزارش می‌دهد \(em همچنین نام درایور، PID در صورت در حال اجرا بودن، و نتیجه بررسی سیگنال برای اطمینان از پاسخگو بودن آن\&. سرکوب با NUT_QUIET_INIT_BANNER می‌تواند برای تجزیه در اسکریپت‌ها مفید باشد\&. اگر چیزی برای چاپ وجود داشته باشد (حداقل یک دستگاه شناخته شده باشد)، سطر اول گزارش وضعیت، سرصفحه با نام ستون‌ها خواهد بود: .sp .if n \{\ .RS 4 .\} .nf :; 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" .fi .if n \{\ .RE .\} .sp مقادیر با کلید TAB جدا شده‌اند، اما UPSNAME و UPSDRV ممکن است به ترتیب با فاصله‌ها در سمت راست و چپ پر شوند\&. هر مقدار رشته‌ای پیچیده در نقل‌قول دوتایی محصور می‌شود\&. .sp فیلدهای گزارش‌شده (PF_* = بر اساس فایل PID، در صورت وجود؛ S_* = از طریق پروتکل سوکت): .PP \fBUPSNAME\fR .RS 4 نام پیکربندی بخش درایور .RE .PP \fBUPSDRV\fR .RS 4 نام برنامه درایور مطابق با ups\&.conf .RE .PP \fBRUNNING\fR .RS 4 مقدار RUNNING اگر PF_PID یا S_PID معتبر باشد، STOPPED اگر حداقل یک مقدار PID تجزیه شده باشد اما هیچ برنامه‌ای با نام صحیح در حال اجرا یافت نشود؛ N/A اگر فایل PID یا پاسخ سوکت وجود نداشته باشد یا تجزیه با شکست مواجه شود\&. ابتدا فایل PID بررسی می‌شود، اما ممکن است به دلیل پارامترهای خط فرمان دیمن‌ها، یا به دلیل پلتفرم (WIN32) وجود نداشته باشد\&. اگر هیچ مقدار PID از این طریق یافت و تأیید نشد، بررسی PID گزارش‌شده از طریق پروتکل را به عنوان جایگزین انجام می‌دهیم (در صورت موجود بودن و متفاوت بودن)\&. .RE .PP \fBPF_PID\fR .RS 4 شناسه PID درایور بر اساس فایل PID (در صورت وجود)، یا برخی مقادیر منفی در هنگام بروز خطا (همانطور که در common\&.c تعریف شده است) شامل نبود فایل PID، محتوای نامعتبر، یا پلتفرم پشتیبانی‌نشده برای این سازوکار (مانند WIN32) .RE .PP \fBS_RESPONSIVE\fR .RS 4 مقدار RESPONSIVE اگر PING/PONG در طول راه‌اندازی نشست پروتکل سوکت با موفقیت انجام شود؛ در غیر این صورت NOT_RESPONSIVE .RE .PP \fBS_PID\fR .RS 4 شناسه PID درایور بر اساس پرس‌وجوی فعال GETPID، یا N/A در صورت شکست پرس‌وجو .RE .PP \fBS_STATUS\fR .RS 4 مقدار داخل نقل‌قول متغیر ups\&.status .RE .sp این حالت درایورهایی را که در ups\&.conf نیستند (مانند درایورهایی که به صورت دستی برای آزمایش با گزینه‌های متعدد خط فرمان \-x راه‌اندازی شده‌اند) شناسایی نمی‌کند\&. .RE .PP \fB\-c\fR \fIcommand\fR .RS 4 ارسال \fIcommand\fR به فرایند پس‌زمینه به عنوان یک سیگنال\&. دستورات معتبر عبارتند از: .PP \fBdump\fR .RS 4 به درایور(ها) می‌گوید اطلاعات وضعیت شناخته‌شده فعلی را در stdout خود (در صورت متصل بودن به هر کجا) تخلیه کنند .RE .PP \fBreload\fR .RS 4 خواندن مجدد فایل‌های پیکربندی، با نادیده گرفتن تنظیمات تغییر‌یافته‌ای که نمی‌توانند "در حین اجرا" (on the fly) اعمال شوند .RE .PP \fBreload\-or\-error\fR .RS 4 خواندن مجدد فایل‌های پیکربندی، با نادیده گرفتن اما شمارش مقادیر تغییر‌یافته‌ای که نیاز به راه‌اندازی مجدد درایور دارند (نمی‌توانند در حین اجرا تغییر کنند)، و بازگرداندن یک کد موفقیت/شکست بر اساس آن تعداد، تا فراخواننده بتواند درباره سرنوشت نمونه درایور در حال اجرای فعلی تصمیم بگیرد .RE .PP \fBreload\-or\-exit\fR .RS 4 خواندن مجدد فایل‌های پیکربندی، با خروج از فرایند درایور قدیمی در صورت مواجهه با تنظیمات تغییریافته‌ای که نمی‌توانند "در حین اجرا" اعمال شوند (تا فراخواننده‌ای مانند systemd بتواند نسخه دیگری از درایور را راه‌اندازی کند) .RE .PP \fBexit\fR .RS 4 به نمونه درایور در حال اجرای فعلی می‌گوید که به سادگی خارج شود (تا یک فراخواننده خارجی مانند نمونه درایور جدید، یا چارچوب‌های systemd یا SMF یک نسخه دیگر را راه‌اندازی کنند) .RE .RE .sp اگر upsdrvctl برای ماندن در حافظه و مدیریت فرایندهای درایور NUT راه‌اندازی شده باشد، می‌تواند سیگنال‌های پشتیبانی‌شده را دریافت کرده و به آن درایورها منتقل کند\&. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .sp متغیر \fBNUT_DEBUG_LEVEL\fR سطح پرگویی اشکال‌زدایی پیش‌فرض را تعیین می‌کند اگر هیچ آرگومان \fB\-D\fR در خط فرمان ارائه نشده باشد، اما درخواست اجرای دیمن در حالت پیش‌زمینه را نمی‌دهد\&. .sp متغیر \fBNUT_CONFPATH\fR نام مسیر دایرکتوری حاوی ups\&.conf و سایر فایل‌های پیکربندی است\&. اگر این متغیر تنظیم نشده باشد، \fBupsdrvctl\fR (و درایورها) از یک مقدار پیش‌فرض توکار استفاده می‌کنند که معمولاً /usr/local/ups/etc است\&. .sp متغیر \fBNUT_ALTPIDPATH\fR نام مسیر دایرکتوری است که \fBupsd\fR و درایورها فایل‌های \&.pid را در آن ذخیره می‌کنند\&. اگر این متغیر تنظیم نشده باشد، \fBupsd\fR و درایورها در صورت تنظیم بودن از \fBNUT_STATEPATH\fR، یا در صورت تنظیم بودن از ALTPIDPATH، یا در غیر این صورت از مقدار پیش‌فرض توکار \fBSTATEPATH\fR استفاده می‌کنند\&. .SH "تشخیص عیب (DIAGNOSTICS)" .sp اگر upsdrvctl هنگام انجام عملیات درخواستی با خطایی مواجه شود، یک کد خروج غیر صفر برمی‌گرداند\&. این امر همچنین در صورتی رخ می‌دهد که ورود یک درایور به پس‌زمینه بیش از دوره زمانی \fImaxstartdelay\fR طول بکشد\&. .SH "همچنین ببینید (SEE ALSO)" .sp \fBupsdrvsvcctl\fR(8), \fBnut-driver-enumerator\fR(8), \fBnutupsdrv\fR(8), \fBupsd\fR(8), \fBups.conf\fR(5) .SS "منابع اینترنتی:" .sp صفحه اصلی NUT (Network UPS Tools): https://www\&.networkupstools\&.org/historic/v2\&.8\&.5