| MOD-ACTIVE(8) | InterNetNews Documentation | MOD-ACTIVE(8) |
نام (NAME)
mod-active - بهروزرسانی پرونده active بر اساس وضعیت تعدیل گروه
خلاصه دستور (SYNOPSIS)
mod-active [ctlinnd-command-file ...]
توضیحات (DESCRIPTION)
دستور mod-active یک اسکریپت Perl است که پرونده active را بر اساس خطوط ورودی حاوی دستورات "newgroup"، "rmgroup" و "changegroup" از ctlinnd بهروزرسانی میکند. این اسکریپت کارگزار را در حین خواندن و بازنویسی پرونده موجود active بهمدت کوتاهی متوقف (pause) میکند، که این امر نهتنها مانع از بهروزرسانی پرونده active توسط innd میشود، بلکه در برابر سایر نمونههای در حال اجرای mod-active نیز قفل ایجاد میکند.
این اسکریپت باید توسط کاربر news اجرا شود.
ورودی mod-active میتواند از یک یا چند پرونده ctlinnd-command-file مشخصشده در خط فرمان، یا از ورودی استاندارد تأمین شود. معمولاً ورودی آن خروجی دستورات docheckgroups یا actsync است. هر خطی که شامل رشتههای "ctlinnd newgroup"، "ctlinnd rmgroup" یا "ctlinnd changegroup" باشد (که میتواند بهطور اختیاری با فاصله یا مسیر ctlinnd شروع شده باشد) برای اعمال در بهروزرسانی ثبت میشود. دستورات تکراری و اضافی، مانند دستور newgroup برای گروهی که از قبل وجود دارد، نادیده گرفته میشوند. سایر خطوط موجود در ورودی نیز نادیده گرفته میشوند. پس از ایجاد پرونده جدید active، نام پرونده قبلی به active.old تغییر یافته و پرونده جدید جایگزین آن میشود. سپس اسکریپت تفاوتهای میان این دو پرونده را نمایش میدهد. هر گروهی که به پرونده active افزوده شده باشد، به پرونده active.times نیز همراه با رشته "checkgroups-update" اضافه میشود.
لطفاً توجه داشته باشید که هیچ بررسی نحوی (syntax checking) روی نام گروهها توسط mod-active انجام نمیشود.
اشکالات (BUGS)
اگرچه innd در زمان فعالیت mod-active متوقف میشود، اما غیرقابلتصور نیست که در صورت تلاش فرایند دیگری برای بهروزرسانی پرونده active در طول این مدتزمان نسبتاً کوتاه، تداخلی رخ دهد. دو حالت محتملتر برای وقوع این اتفاق عبارتند از: اجرای همزمان و دستی دستور ctlinnd توسط یک مدیر سیستم، یا دریافت یک پیام کنترلی توسط innd، سپس متوقف شدن کارگزار توسط mod-active، و در نهایت اجرای دستور ctlinnd توسط اسکریپت کنترل پیام فرعی (fork شده) که در حین کار mod-active در حال اجرا است. توجه داشته باشید که وقوع چنین سناریوهایی بسیار بعید است.
تاریخچه (HISTORY)
نوشتهشده توسط David C Lawrence <tale@isc.org> برای InterNetNews. تبدیل به POD توسط Julien Elie.
همچنین ببینید (SEE ALSO)
active(5), active.times(5), actsync(8), ctlinnd(8), docheckgroups(8), innd(8).
| 2023-03-07 | INN 2.7.4 |