'" t ." Title: upssched.conf ." Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] ." Generator: DocBook XSL Stylesheets vsnapshot ." Date: 06/21/2026 ." Manual: NUT Manual ." Source: Network UPS Tools 2.8.5 ." Language: English ." .TH "UPSSCHED\&.CONF" "5" "06/21/2026" "Network UPS Tools 2\&.8\&.5" "NUT Manual" ." ----------------------------------------------------------------- ." * 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.conf \- پیکربندی برنامه زمان‌سنج upssched .SH "توضیحات (DESCRIPTION)" .sp این فایل عملیات \fBupssched\fR(8) را کنترل می‌کند، که برنامه کمکی مبتنی بر زمان‌سنج برای \fBupsmon\fR(8) است\&. .SH "نکات مهم (IMPORTANT NOTES)" .sp .RS 4 .ie n \{\h'-04'\(bu\h'+03'\c .\} .el \{.sp -1 .IP \(bu 2.3 .\} محتوای این فایل باید اسکی خالص (ASCII) باشد (کدهای نویسه‌ای خارج از این محدوده با پیام هشدار نادیده گرفته می‌شوند)\&. .RE .sp .RS 4 .ie n \{\h'-04'\(bu\h'+03'\c .\} .el \{.sp -1 .IP \(bu 2.3 .\} اجرای دستورات همگام (synchronous) است (با فرآیند ابزار فراخوانده‌شده در مورد دستورالعمل EXECUTE، یا با فرآیند زمان‌سنج)\&. استفاده از امکانات پوسته سیستم مانند & را برای ارسال پردازش‌های طولانی به پس‌زمینه مد نظر قرار دهید تا به دیمن زمان‌سنج upssched اجازه ادامه کار داده شود\&. این موضوع نباید تأثیری بر دیمن upsmon بگذارد، زیرا هر اعلان را در یک زیرفرآیند جداگانه مدیریت می‌کند (و در نتیجه مشکلی برای رویدادهای فوری EXECUTE نخواهد بود)\&. .RE .SH "دستورالعمل‌های پیکربندی (CONFIGURATION DIRECTIVES)" .PP \fBDEBUG_MIN\fR \fInumber\fR .RS 4 اختیاری\&. تعیین حداقل سطح اشکال‌زدایی برای دیمن یا کلاینت upssched، به عنوان مثال برای رفع اشکال استقرار بدون نیاز به ویرایش پیکربندی مصرف‌کننده\&. .sp توجه داشته باشید که گزینه خط فرمان \-D تنها می‌تواند این سطح از پرجزئیاتی را افزایش دهد\&. .sp همچنین توجه داشته باشید که فایل پیکربندی سطر به سطر پردازش می‌شود، بنابراین ممکن است بخواهید این گزینه را در ابتدای فایل قرار دهید\&. .sp مثال: .sp .if n \{.RS 4 .\} .nf DEBUG_MIN 6 .fi .if n \{.RE .\} .RE .PP \fBCMDSCRIPT\fR \fIscriptname\fR .RS 4 الزامی\&. این خط باید بالاتر از هر خط حاوی AT قرار گیرد\&. این اسکریپت برای فراخوانی دستورات هنگام فعال شدن زمان‌سنج‌های شما استفاده می‌شود\&. این اسکریپت یک آرگومان واحد دریافت می‌کند که همان نام زمان‌سنجی است که باعث فعال شدن آن شده است\&. .RE .PP \fBPIPEFN\fR \fIfilename\fR .RS 4 الزامی\&. این گزینه نام فایل سوکت مورد استفاده برای ارتباطات میان‌فرآیندی را تنظیم می‌کند\&. این فایل باید در دایرکتوری قرار گیرد که کاربران عادی به دلیل احتمال ایجاد پیوند نمادین مخرب نتوانند فایلی بسازند\&. .if n \{.sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBاحتیاط (Caution)\fR .ps -1 .br اگر از سولاریس یا سیستم‌های مشابه استفاده می‌کنید، مجوزهایی که upssched روی این فایل تنظیم می‌کند برای ایمن نگه داشتن شما \fBکافی نیست\fR\&. اگر سیستم‌عامل شما مجوزهای روی FIFO را نادیده می‌گیرد، باید حتماً این فایل را در یک پوشه محافظت‌شده قرار دهید! .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نکته (Note)\fR .ps -1 .br به صورت پیش‌فرض، \fBupsmon\fR(8) برنامه upssched را با کاربری اجرا می‌کند که با \fIRUN_AS_USER\fR در \fBupsmon.conf\fR(5) تعریف کرده‌اید\&. مطمئن شوید که این کاربر می‌تواند در مسیر استفاده‌شده برای \fIPIPEFN\fR و \fILOCKFN\fR فایل ایجاد کرده و بنویسد\&. .sp .5v .RE توصیه من: یک پوشه ویژه برای upssched بسازید، مالکیت آن را به کاربر upsmon خود اختصاص دهید، سپس از آن برای هر دو استفاده کنید\&. .sp نسخه پیش‌فرض upssched\&.conf با PIPEFN غیرفعال عرضه می‌شود تا شما را وادار کند این بخش از مستندات را بخوانید و پیش از ایجاد حفره امنیتی احتمالی درباره نحوه کار سیستم خود فکر کنید\&. .RE .PP \fBLOCKFN\fR \fIfilename\fR .RS 4 الزامی\&. برنامه upssched تلاش می‌کند این فایل را بسازد تا از شرایط رقابتی در هنگام ارسال دو رویداد از upsmon تقریباً در یک زمان جلوگیری کند\&. این فایل تنها مدت کوتاهی وجود خواهد داشت\&. این فایل نباید توسط فرآیند دیگری ایجاد شود\&. .sp باید این فایل را در همان پوشه PIPEFN قرار دهید\&. .RE .PP \fBAT\fR \fInotifytype\fR \fIupsname\fR \fIcommand\fR .RS 4 تعریف یک گرداننده برای رویداد خاص \fInotifytype\fR روی UPS به نام \fIupsname\fR\&. مقدار \fIupsname\fR می‌تواند مقدار ویژه * باشد تا این گرداننده بر هر UPS اعمال شود\&. .sp این گزینه دستور \fIcommand\fR را زمانی که \fInotifytype\fR و \fIupsname\fR با فعالیت جاری مطابقت داشته باشند اجرا می‌کند\&. مقادیر ممکن برای \fIcommand\fR عبارتند از: .PP \fBSTART\-TIMER\fR \fItimername\fR \fIinterval\fR .RS 4 شروع یک زمان‌سنج به مدت \fIinterval\fR ثانیه\&. هنگامی که فعال شود، آرگومان \fItimername\fR را به عنوان یک آرگومان به CMDSCRIPT شما ارسال می‌کند\&. هر بار فراخوانی یک زمان‌سنج مستقل را شروع می‌کند، حتی اگر \fItimername\fR از قبل ثبت و آغاز شده باشد (توجه داشته باشید که این امر می‌تواند عملیات بعدی CANCEL\-TIMER را دچار اختلال کند)\&. .sp مثال: .sp شروع زمان‌سنجی که وقتی هر یوپی‌اسی (*) به مدت ۱۰ ثانیه قطع شده باشد اجرا خواهد شد .sp .if n \{.RS 4 .\} .nf AT COMMBAD * START\-TIMER upsgone 10 .fi .if n \{.RE .\} .RE .PP \fBSTART\-TIMER\-SHARED\fR \fItimername\fR \fIinterval\fR .RS 4 شروع یک زمان‌سنج به مدت \fIinterval\fR ثانیه\&. هنگامی که فعال شود، آرگومان \fItimername\fR را به CMDSCRIPT شما ارسال می‌کند\&. هر بار فراخوانی بررسی می‌کند که آیا \fItimername\fR قبلاً آغاز شده است یا خیر، و در این صورت، مقادیر UPSNAME ،NOTIFYTYPE و NOTIFYMSG رویداد فعلی را به لیست مقادیر یکتایی که از طریق متغیرهای محیطی هنگام اجرای زمان‌سنج گزارش می‌شوند اضافه می‌کند (به صورت رشته جداشده با کاما برای UPSNAME و NOTIFYTYPE، و جملات جداشده با تب برای 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 در حال حاضر این مورد اولین نمونه دیده‌شده با \fItimername\fR را به‌روزرسانی می‌کند (در صورتی که توانسته باشید تعداد زیادی را شروع کنید)\&. .sp .5v .RE مثال: .sp شروع زمان‌سنجی که در صورت قطع ارتباط هر UPS (*) به مدت ۱۰ ثانیه اجرا می‌شود .sp .if n \{.RS 4 .\} .nf AT COMMBAD * START\-TIMER upsgone 10 .fi .if n \{.RE .\} .RE .PP \fBCANCEL\-TIMER\fR \fItimername\fR [\fIcmd\fR] .RS 4 لغو یک زمان‌سنج در حال اجرا به نام \fItimername\fR در صورت امکان\&. اگر زمان‌سنج سپری شده باشد، آرگومان اختیاری \fIcmd\fR به CMDSCRIPT ارسال می‌شود\&. .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 این دستور تمام نمونه‌های دیده‌شده با \fItimername\fR را حذف می‌کند (در صورتی که توانسته باشید چندین مورد را شروع کنید)\&. .sp .5v .RE مثال: .sp اگر یک یوپی‌اس خاص (myups@localhost) دوباره آنلاین شود، زمان‌سنج پیش از فعال شدن متوقف شود .sp .if n \{.RS 4 .\} .nf AT COMMOK myups@localhost CANCEL\-TIMER upsgone .fi .if n \{.RE .\} .RE .PP \fBCANCEL\-TIMER\-MATCHED\fR \fItimername\fR [\fIcmd\fR] .RS 4 مشابه مورد بالا، اما تلاش می‌کند تنها زمانی \fItimername\fR را لغو کند که به مقادیر UPSNAME و NOTIFYTYPE ارائه‌شده توسط فراخواننده اشاره داشته باشد\&. مقدار NOTIFYMSG در این بافت نادیده گرفته می‌شود\&. .sp مثال: .sp اگر هر یوپی‌اسی (*) به برق شهری بازگردد، زمان‌سنج را پیش از فعال شدن متوقف کند، تنها در صورتی که آن UPS با زمان‌سنج زمان‌بندی‌شده از قبل مرتبط باشد: .sp .if n \{.RS 4 .\} .nf AT ONLINE * CANCEL\-TIMER\-MATCHED onbattwarn .fi .if n \{.RE .\} .RE .PP \fBEXECUTE\fR \fIcommand\fR .RS 4 ارسال فوری \fIcommand\fR به عنوان آرگومان به CMDSCRIPT\&. .sp مثال: .sp اگر هر UPS (*) به برق شهری بازگردد، سپس دستور ups\-back\-on\-line از طریق CMDSCRIPT اجرا شود\&. .sp .if n \{.RS 4 .\} .nf AT ONLINE * EXECUTE ups\-back\-on\-line .fi .if n \{.RE .\} .RE .RE .sp توجه داشته باشید که هر دستور AT که با هر دو مقدار \fInotifytype\fR و \fIupsname\fR برای رویداد جاری مطابقت داشته باشد استفاده خواهد شد\&. .sp برای فهرست کامل مقادیر ممکن \fInotifytype\fR، به بخش NOTIFY EVENTS در \fBupsmon\fR(8) مراجعه کنید\&. .SH "همچنین ببینید (SEE ALSO)" .sp \fBupssched\fR(8), \fBupsmon\fR(8) .SS "منابع اینترنتی (Internet resources)" .sp صفحه خانگی NUT (Network UPS Tools): https://www\&.networkupstools\&.org/historic/v2\&.8\&.5