| UPSSCHED(8) | راهنمای NUT | UPSSCHED(8) |
نام (NAME)
upssched - دستیار زمانسنج برای زمانبندی رویدادها از upsmon
خلاصه دستور (SYNOPSIS)
upssched [OPTIONS] [NOTIFYMSG]
یادداشت (Note)
دستور upssched باید از طریق NOTIFYCMD توسط upsmon(8) اجرا شود. هرگز نباید آن را در طول عملیات عادی مستقیماً اجرا کنید.
upssched -l
فهرست کردن رویدادهای زمانسنج تحت ردیابی کنونی، در صورت وجود. گزارش بهصورت یک جدول با ستونهای جداشده با کلیدبرگ (TAB) از: NAME، TIMEOUT_ABS، TIMEOUT_REL، NOTIFYTYPE، UPSNAME، NOTIFYMSG.
توضیحات (DESCRIPTION)
دستور upssched برای این ایجاد شد که به کاربران اجازه دهد برنامهها را در زمانهایی متناسب با رویدادهای تحت نظارت upsmon(8) اجرا کنند. هدف اصلی، امکان خاموش کردن سیستم پس از یک دوره مشخص کار روی باتری بود، اما کاربردهای دیگری نیز ممکن است.
گزینههای عمومی (COMMON OPTIONS)
-h
-V
-D
گزینهها (OPTIONS)
بهطور پیشفرض upssched فایل پیکربندی خود را پردازش میکند و بر اساس پیکربندی و مقدار NOTIFYTYPE دریافتی، فراخوانیهای CMDSCRIPT را اجرا کرده یا در صف قرار میدهد، یا برخی موارد قبلاً در صف قرار گرفته را لغو میکند. یک استثنا برای این حالت، حالت فهرست کردن صف با گزینه -l است.
-l
NOTIFYMSG
یکپارچهسازی (INTEGRATION)
دستور upssched باید بهعنوان NOTIFYCMD در upsmon.conf(5) شما فراخوانی شود. این برنامه بر اساس متغیرهای محیطی UPSNAME و NOTIFYTYPE تشخیص میدهد چه اتفاقی در حال رخ دادن است. هرگز نباید مستقیماً با آنها سر و کار داشته باشید.
فلگ EXEC را روی رویدادهایی که میخواهید در upssched دیده شوند تنظیم کنید. برای مثال، جهت اطمینان از اینکه upssched از رویدادهای ONLINE، ONBATT و LOWBATT مطلع میشود، فلگها به این صورت خواهند بود:
NOTIFYFLAG ONLINE EXEC NOTIFYFLAG ONBATT EXEC NOTIFYFLAG LOWBATT EXEC
اگر میخواهید ثبت وقایع در syslog نیز ادامه یابد، کافی است آن را اضافه کنید:
NOTIFYFLAG ONLINE SYSLOG+EXEC NOTIFYFLAG ONBATT SYSLOG+EXEC NOTIFYFLAG LOWBATT SYSLOG+EXEC
برای فهرست کامل فلگهای اعلان، مستندات upsmon(8) را ببینید.
توجه داشته باشید که اجرای دستور همگام (همگام با فرایند ابزار upssched فراخوانیشده در صورت استفاده از دستورالعمل EXECUTE، یا با فرایند زمانسنج) است. از قابلیتهای پوسته سیستم خود مانند & برای فرستادن کارهای طولانیمدت به پسزمینه استفاده کنید تا دیمن زمانسنج upssched بتواند ادامه دهد. این موضوع نباید روی دیمن upsmon تأثیر بگذارد، زیرا هر اعلان را در یک زیرفرایند جداگانه مدیریت میکند (و بنابراین برای رویدادهای فوری EXECUTE مشکلی ایجاد نمیکند).
پیکربندی (CONFIGURATION)
برای اطلاعات درباره پیکربندی این برنامه، upssched.conf(5) را ببینید.
خاموشسازیهای زودهنگام (EARLY SHUTDOWNS)
برای خاموش کردن زودهنگام سیستم، زمانسنجی تعریف کنید که با وضعیت ONBATT شروع شود. هنگام فعال شدن، تنظیم کنید که CMDSCRIPT شما روتین خاموشسازی را فراخوانی کند. این کار باید با فراخوانی upsmon -c fsd پایان یابد تا upsmon بتواند سرورهای وابسته (slaves) را بهصورت کنترلشده خاموش کند.
اطمینان حاصل کنید که در صورت بازگشت برق (ONLINE) زمانسنج را لغو میکنید.
آمادهسازی زودهنگام برای خاموشسازی در نمونه اصلی UPSMON (EARLY PREPARATION FOR A SHUTDOWN ON UPSMON PRIMARY INSTANCE)
نمونه اصلی (primary) در upsmon(8) مسئول دستور دادن به دستگاه(های) UPS برای قطع برق در پایان خاموشسازی اضطراری است. بنابراین، در صورت وجود چندین کلاینت، نمونه اصلی فلگ "FSD" (خاموشسازی اجباری) را روی سرور داده برای هر UPS تحت مدیریت خود بالا میبرد و منتظر خروج نمونههای ثانویه (secondary) میماند (یا تا زمان انقضای مهلت زمانی). اگر فعالیتهایی وجود دارد که باید در طول خاموشسازی روی رایانه upsmon اصلی انجام شود و زمان زیادی میبرد، میتوانید از اعلان FSD برای شروع این عملیات استفاده کنید، در حالی که نمونه اصلی upsmon منتظر میماند تا نمونههای ثانویه خاموشسازی خود را کامل کنند.
اگر چندین UPS دارید، ممکن است بخواهید چندین اعلان را با دستورالعمل START-TIMER-SHARED (با یک مهلت زمانی کوتاه) ترکیب کنید تا فقط یک بار واکنش نشان دهید. در غیر این صورت، اگر فعالیت مورد نیاز بسته به UPS متفاوت باشد (بهعنوان مثال، اسکریپتهای سفارشی خاموشسازی دستگاه راه دور)، ممکن است بخواهید بلافاصله از قواعد EXECUTE استفاده کنید (و کارهای بعدی را در CMDSCRIPT خود اعزام نمایید).
حذف نوسانات رویدادها (DEBOUNCING EVENTS)
اگر UPS شما مکرراً روی باتری رفته و بازمیگردد، میتوانید از این برنامه برای کاهش تعداد پیامهای ارسالی به پیجر استفاده کنید. بهجای ارسال مستقیم پیامها از upsmon(8)، از یک زمانسنج کوتاه در اینجا استفاده کنید. اگر زمانسنج در حالی فعال شود که UPS هنوز روی باتری است، پیام را ارسال کنید. اگر برق قبل از آن زمان بازگردد، زمانسنج میتواند لغو شود و نیازی به ارسال پیام نخواهد بود.
پیشزمینه (BACKGROUND)
این برنامه در اصل برای برآورده کردن درخواستهای کاربران برای سناریوی خاموشسازی زودهنگام نوشته شده است. طراحی «بیرونی» برنامه (نسبت به upsmon) به منظور کاهش بار روی یک سیستم معمولی در نظر گرفته شده بود. بیشتر افراد نیازی به خاموش کردن سیستم پس از N ثانیه کار روی باتری ندارند، زیرا آزمایش معمول OB+LB کفایت میکند.
این برنامه بهطور جداگانه ایجاد شد تا آن افراد مجبور نباشند زمان CPU و حافظه RAM را صرف چیزی کنند که هرگز در محیطهایشان استفاده نخواهد شد.
طراحی گرداننده زمانسنج نیز با هدف به حداقل رساندن تأثیر بر سیستم انجام گرفته است. این برنامه در صورت نیاز در فهرست فرایندها ظاهر شده و خارج میشود. هنگامی که یک زمانسنج جدید شروع میشود، فرایندی فورک خواهد شد تا زمان را رصد کند و در نهایت CMDSCRIPT را آغاز نماید. هنگامی که یک زمانسنج فعال میشود، از صف حذف میگردد. لغو کردن زمانسنج نیز آن را از صف حذف میکند. زمانی که هیچ زمانسنجی در صف وجود نداشته باشد، فرایند پسزمینه خارج میشود.
این بدان معناست که شما upssched را فقط در صورت وقوع یکی از این دو حالت در حال اجرا خواهید دید:
بهینهسازی نهایی، احتمال تلاش برای لغو یک زمانسنج را در زمانی که هیچ زمانسنجی در حال اجرا نیست مدیریت میکند. اگر دیمن زمانسنج در حال اجرا نباشد، هیچ زمانسنجی برای لغو وجود ندارد و علاوه بر این نیازی به شروع ناظر ساعت نیست. بنابراین، آن مرحله را نادیده گرفته و زودتر خارج میشود.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
متغیر NUT_DEBUG_LEVEL در صورتی که هیچ آرگومان -D در خط فرمان ارائه نشده باشد، پرگویی پیشفرض اشکالزدایی را تنظیم میکند، اما درخواست اجرای دیمن در حالت پیشزمینه را نمیدهد.
یادداشت (Note)
برخلاف برخی دیگر از دیمنهای NUT، برنامه upssched با اشکالزدایی فعال، گزارشدهی در stderr را متوقف نمیکند! این برنامه با اولین فراخوانی یک فرایند پسزمینه بهعنوان گرداننده رویداد فورک میکند که کمی پس از سپری شدن و مدیریت تمام زمانسنجهای تحت ردیابی (در صورت نیاز) خارج میشود.
متغیرهای UPSNAME و NOTIFYTYPE همانطور که در بالا توضیح داده شد الزامی هستند. آنها توسط upsmon هنگامی که upssched را بهعنوان انتخاب NOTIFYCMD خود فراخوانی میکند، تنظیم میشوند.
متغیر NUT_CONFPATH نام مسیر پوشهای است که شامل upssched.conf و سایر فایلهای پیکربندی است. اگر این متغیر تنظیم نشده باشد، upssched از یک پیشفرض توکار استفاده میکند که اغلب /usr/local/ups/etc است.
فایلها (FILES)
همچنین ببینید (SEE ALSO)
منابع اینترنتی (INTERNET RESOURCES)
صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5
| 06/21/2026 | Network UPS Tools 2.8.5 |