'\" t .\" Title: upssched .\" 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 "UPSSCHED" "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)" upssched \- دستیار زمان‌سنج برای زمان‌بندی رویدادها از upsmon .SH "خلاصه دستور (SYNOPSIS)" .sp \fBupssched\fR [OPTIONS] [NOTIFYMSG] .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBیادداشت (Note)\fR .ps -1 .br .sp دستور \fBupssched\fR باید از طریق NOTIFYCMD توسط \fBupsmon\fR(8) اجرا شود\&. هرگز نباید آن را در طول عملیات عادی مستقیماً اجرا کنید\&. .sp .5v .RE .sp \fBupssched\fR \-l .sp فهرست کردن رویدادهای زمان‌سنج تحت ردیابی کنونی، در صورت وجود\&. گزارش به‌صورت یک جدول با ستون‌های جداشده با کلیدبرگ (TAB) از: \fINAME\fR، \fITIMEOUT_ABS\fR، \fITIMEOUT_REL\fR، \fINOTIFYTYPE\fR، \fIUPSNAME\fR، NOTIFYMSG\&. .SH "توضیحات (DESCRIPTION)" .sp دستور \fBupssched\fR برای این ایجاد شد که به کاربران اجازه دهد برنامه‌ها را در زمان‌هایی متناسب با رویدادهای تحت نظارت \fBupsmon\fR(8) اجرا کنند\&. هدف اصلی، امکان خاموش کردن سیستم پس از یک دوره مشخص کار روی باتری بود، اما کاربردهای دیگری نیز ممکن است\&. .SH "گزینه‌های عمومی (COMMON OPTIONS)" .PP \fB\-h\fR .RS 4 نمایش پیام راهنمای خط فرمان\&. .RE .PP \fB\-V\fR .RS 4 نمایش مشخصات و نسخه NUT\&. جزئیات بیشتر ممکن است با تنظیم export NUT_DEBUG_LEVEL=1 یا سطوح اشکال‌زدایی بالاتر در دسترس باشد\&. .RE .PP \fB\-D\fR .RS 4 افزایش سطح اشکال‌زدایی\&. برای جزئیات بیشتر از این گزینه چندین بار استفاده کنید\&. .RE .SH "گزینه‌ها (OPTIONS)" .sp به‌طور پیش‌فرض upssched فایل پیکربندی خود را پردازش می‌کند و بر اساس پیکربندی و مقدار NOTIFYTYPE دریافتی، فراخوانی‌های CMDSCRIPT را اجرا کرده یا در صف قرار می‌دهد، یا برخی موارد قبلاً در صف قرار گرفته را لغو می‌کند\&. یک استثنا برای این حالت، حالت فهرست کردن صف با گزینه \-l است\&. .PP \fB\-l\fR .RS 4 فهرست کردن زمان‌سنج‌های معلق (در صورت وجود) و خروج\&. .RE .PP \fBNOTIFYMSG\fR .RS 4 ارسال اختیاری یک پیام متنی (معمولاً از فراخوانی \fBupsmon\fR(8) به upssched به‌عنوان NOTIFYCMD سرچشمه می‌گیرد) در قالب متغیر محیطی با نام NOTIFYMSG به CMDSCRIPT که توسط upssched بلافاصله یا پس از انقضای زمان‌سنج اجرا می‌شود\&. .RE .SH "یکپارچه‌سازی (INTEGRATION)" .sp دستور upssched باید به‌عنوان NOTIFYCMD در \fBupsmon.conf\fR(5) شما فراخوانی شود\&. این برنامه بر اساس متغیرهای محیطی UPSNAME و NOTIFYTYPE تشخیص می‌دهد چه اتفاقی در حال رخ دادن است\&. هرگز نباید مستقیماً با آن‌ها سر و کار داشته باشید\&. .sp فلگ EXEC را روی رویدادهایی که می‌خواهید در upssched دیده شوند تنظیم کنید\&. برای مثال، جهت اطمینان از اینکه upssched از رویدادهای ONLINE، ONBATT و LOWBATT مطلع می‌شود، فلگ‌ها به این صورت خواهند بود: .sp .if n \{\ .RS 4 .\} .nf NOTIFYFLAG ONLINE EXEC NOTIFYFLAG ONBATT EXEC NOTIFYFLAG LOWBATT EXEC .fi .if n \{\ .RE .\} .sp اگر می‌خواهید ثبت وقایع در syslog نیز ادامه یابد، کافی است آن را اضافه کنید: .sp .if n \{\ .RS 4 .\} .nf NOTIFYFLAG ONLINE SYSLOG+EXEC NOTIFYFLAG ONBATT SYSLOG+EXEC NOTIFYFLAG LOWBATT SYSLOG+EXEC .fi .if n \{\ .RE .\} .sp برای فهرست کامل فلگ‌های اعلان، مستندات \fBupsmon\fR(8) را ببینید\&. .sp توجه داشته باشید که اجرای دستور همگام (همگام با فرایند ابزار upssched فراخوانی‌شده در صورت استفاده از دستورالعمل EXECUTE، یا با فرایند زمان‌سنج) است\&. از قابلیت‌های پوسته سیستم خود مانند & برای فرستادن کارهای طولانی‌مدت به پس‌زمینه استفاده کنید تا دیمن زمان‌سنج upssched بتواند ادامه دهد\&. این موضوع نباید روی دیمن upsmon تأثیر بگذارد، زیرا هر اعلان را در یک زیرفرایند جداگانه مدیریت می‌کند (و بنابراین برای رویدادهای فوری EXECUTE مشکلی ایجاد نمی‌کند)\&. .SH "پیکربندی (CONFIGURATION)" .sp برای اطلاعات درباره پیکربندی این برنامه، \fBupssched.conf\fR(5) را ببینید\&. .SH "خاموش‌سازی‌های زودهنگام (EARLY SHUTDOWNS)" .sp برای خاموش کردن زودهنگام سیستم، زمان‌سنجی تعریف کنید که با وضعیت ONBATT شروع شود\&. هنگام فعال شدن، تنظیم کنید که CMDSCRIPT شما روتین خاموش‌سازی را فراخوانی کند\&. این کار باید با فراخوانی upsmon \-c fsd پایان یابد تا upsmon بتواند سرورهای وابسته (slaves) را به‌صورت کنترل‌شده خاموش کند\&. .sp اطمینان حاصل کنید که در صورت بازگشت برق (ONLINE) زمان‌سنج را لغو می‌کنید\&. .SH "آماده‌سازی زودهنگام برای خاموش‌سازی در نمونه اصلی UPSMON (EARLY PREPARATION FOR A SHUTDOWN ON UPSMON PRIMARY INSTANCE)" .sp نمونه اصلی (primary) در \fBupsmon\fR(8) مسئول دستور دادن به دستگاه(های) UPS برای قطع برق در پایان خاموش‌سازی اضطراری است\&. بنابراین، در صورت وجود چندین کلاینت، نمونه اصلی فلگ "FSD" (خاموش‌سازی اجباری) را روی سرور داده برای هر UPS تحت مدیریت خود بالا می‌برد و منتظر خروج نمونه‌های ثانویه (secondary) می‌ماند (یا تا زمان انقضای مهلت زمانی)\&. اگر فعالیت‌هایی وجود دارد که باید در طول خاموش‌سازی روی رایانه upsmon اصلی انجام شود و زمان زیادی می‌برد، می‌توانید از اعلان FSD برای شروع این عملیات استفاده کنید، در حالی که نمونه اصلی upsmon منتظر می‌ماند تا نمونه‌های ثانویه خاموش‌سازی خود را کامل کنند\&. .sp اگر چندین UPS دارید، ممکن است بخواهید چندین اعلان را با دستورالعمل START\-TIMER\-SHARED (با یک مهلت زمانی کوتاه) ترکیب کنید تا فقط یک بار واکنش نشان دهید\&. در غیر این صورت، اگر فعالیت مورد نیاز بسته به UPS متفاوت باشد (به‌عنوان مثال، اسکریپت‌های سفارشی خاموش‌سازی دستگاه راه دور)، ممکن است بخواهید بلافاصله از قواعد EXECUTE استفاده کنید (و کارهای بعدی را در CMDSCRIPT خود اعزام نمایید)\&. .SH "حذف نوسانات رویدادها (DEBOUNCING EVENTS)" .sp اگر UPS شما مکرراً روی باتری رفته و بازمی‌گردد، می‌توانید از این برنامه برای کاهش تعداد پیام‌های ارسالی به پیجر استفاده کنید\&. به‌جای ارسال مستقیم پیام‌ها از \fBupsmon\fR(8)، از یک زمان‌سنج کوتاه در اینجا استفاده کنید\&. اگر زمان‌سنج در حالی فعال شود که UPS هنوز روی باتری است، پیام را ارسال کنید\&. اگر برق قبل از آن زمان بازگردد، زمان‌سنج می‌تواند لغو شود و نیازی به ارسال پیام نخواهد بود\&. .SH "پیش‌زمینه (BACKGROUND)" .sp این برنامه در اصل برای برآورده کردن درخواست‌های کاربران برای سناریوی خاموش‌سازی زودهنگام نوشته شده است\&. طراحی «بیرونی» برنامه (نسبت به upsmon) به منظور کاهش بار روی یک سیستم معمولی در نظر گرفته شده بود\&. بیشتر افراد نیازی به خاموش کردن سیستم پس از \fIN\fR ثانیه کار روی باتری ندارند، زیرا آزمایش معمول OB+LB کفایت می‌کند\&. .sp این برنامه به‌طور جداگانه ایجاد شد تا آن افراد مجبور نباشند زمان CPU و حافظه RAM را صرف چیزی کنند که هرگز در محیط‌هایشان استفاده نخواهد شد\&. .sp طراحی گرداننده زمان‌سنج نیز با هدف به حداقل رساندن تأثیر بر سیستم انجام گرفته است\&. این برنامه در صورت نیاز در فهرست فرایندها ظاهر شده و خارج می‌شود\&. هنگامی که یک زمان‌سنج جدید شروع می‌شود، فرایندی فورک خواهد شد تا زمان را رصد کند و در نهایت CMDSCRIPT را آغاز نماید\&. هنگامی که یک زمان‌سنج فعال می‌شود، از صف حذف می‌گردد\&. لغو کردن زمان‌سنج نیز آن را از صف حذف می‌کند\&. زمانی که هیچ زمان‌سنجی در صف وجود نداشته باشد، فرایند پس‌زمینه خارج می‌شود\&. .sp این بدان معناست که شما upssched را فقط در صورت وقوع یکی از این دو حالت در حال اجرا خواهید دید: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوعی زمان‌سنج در حال حاضر در حال اجرا باشد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} برنامه upsmon تازه آن را فراخوانی کرده باشد و شما توانسته باشید آن لحظه کوتاه را ببینید .RE .sp بهینه‌سازی نهایی، احتمال تلاش برای لغو یک زمان‌سنج را در زمانی که هیچ زمان‌سنجی در حال اجرا نیست مدیریت می‌کند\&. اگر دیمن زمان‌سنج در حال اجرا نباشد، هیچ زمان‌سنجی برای لغو وجود ندارد و علاوه بر این نیازی به شروع ناظر ساعت نیست\&. بنابراین، آن مرحله را نادیده گرفته و زودتر خارج می‌شود\&. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .sp متغیر \fBNUT_DEBUG_LEVEL\fR در صورتی که هیچ آرگومان \fB\-D\fR در خط فرمان ارائه نشده باشد، پرگویی پیش‌فرض اشکال‌زدایی را تنظیم می‌کند، اما درخواست اجرای دیمن در حالت پیش‌زمینه را نمی‌دهد\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBیادداشت (Note)\fR .ps -1 .br .sp برخلاف برخی دیگر از دیمن‌های NUT، برنامه upssched با اشکال‌زدایی فعال، گزارش‌دهی در stderr را متوقف نمی‌کند! این برنامه با اولین فراخوانی یک فرایند پس‌زمینه به‌عنوان گرداننده رویداد فورک می‌کند که کمی پس از سپری شدن و مدیریت تمام زمان‌سنج‌های تحت ردیابی (در صورت نیاز) خارج می‌شود\&. .sp .5v .RE .sp متغیرهای \fBUPSNAME\fR و \fBNOTIFYTYPE\fR همان‌طور که در بالا توضیح داده شد الزامی هستند\&. آن‌ها توسط upsmon هنگامی که upssched را به‌عنوان انتخاب NOTIFYCMD خود فراخوانی می‌کند، تنظیم می‌شوند\&. .sp متغیر \fBNUT_CONFPATH\fR نام مسیر پوشه‌ای است که شامل upssched\&.conf و سایر فایل‌های پیکربندی است\&. اگر این متغیر تنظیم نشده باشد، \fBupssched\fR از یک پیش‌فرض توکار استفاده می‌کند که اغلب /usr/local/ups/etc است\&. .SH "فایل‌ها (FILES)" .sp \fBupssched.conf\fR(5) .SH "همچنین ببینید (SEE ALSO)" .sp \fBupsmon\fR(8) .SS "منابع اینترنتی (INTERNET RESOURCES)" .sp صفحه اصلی NUT (Network UPS Tools): https://www\&.networkupstools\&.org/historic/v2\&.8\&.5