.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "NINPATHS 8" .TH NINPATHS 8 2024-05-19 "INN 2.7.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" ninpaths \- گزارش آمار فیلد سرآیند Path در یوزنت (inpaths جدید) .SH "خلاصه دستور (SYNOPSIS)" .IX Header "خلاصه دستور (SYNOPSIS)" \&\fBninpaths\fR \fB\-p\fR \fB\-d\fR \fIdumpfile\fR .PP \&\fBninpaths\fR \fB\-r\fR \fIsite\fR \fB\-u\fR \fIdumpfile\fR [\fB\-u\fR \fIdumpfile\fR ...] \fB\-v\fR \&\fIlevel\fR .SH "توضیحات (DESCRIPTION)" .IX Header "توضیحات (DESCRIPTION)" این یک برنامهٔ کارآمد و کم‌مصرف (از نظر فضا) برای گزارش‌دهی \fBinpaths\fR است. نحوهٔ کار آن به این صورت است: فیلدهای سرآیند Path از طریق یک فید کانال در INN یا روش مشابه دیگری به آن داده می‌شوند، و برنامه گه‌گاه تمام شمارنده‌های داخلی انباشته‌شده تا آن لحظه را در یک فایل دامپ می‌نویسد. نمونه‌ای دیگر از برنامه، تمام فایل‌های دامپ را برمی‌دارد، آن‌ها را با هم جمع می‌زند و در قالب یک گزارش تنظیم می‌کند. هدف از گزارش نهایی، خلاصه‌سازی فراوانی تکرار سایت‌ها در فیلدهای سرآیند Path مقالات است. .PP برخی از سایت‌های مرکزی داده‌های فیلد سرآیند Path را از چندین سرور خبری (news server) که این برنامه یا برنامه‌ای مشابه را اجرا می‌کنند جمع‌آوری کرده و سپس آماری از پرتکرارترین سرورهای خبری دیده‌شده در فیلدهای سرآیند Path مقالات یوزنت (Usenet) ارائه می‌دهند. اسکریپت \fBsendinpaths\fR را می‌توان به‌صورت روزانه اجرا کرد تا آمار انباشته‌شده را به چنین سایتی ایمیل کند و فایل‌های دامپ قدیمی را حذف نماید. .PP شما می‌توانید با انجام موارد زیر یک پیکربندی فعال ایجاد کنید: .IP 1. 4 یک دایرکتوری در مسیر \fIpathlog\fR/path ایجاد کنید (در اینجا و تمام مراحلی که در ادامه می‌آیند، \fIpathlog\fR را با مسیر کامل دایرکتوری گزارش‌های INN خود جایگزین کنید). نام زیردایرکتوری \f(CW\*(C`path\*(C'\fR را تغییر ندهید زیرا توسط \fBsendinpaths\fR استفاده می‌شود. .IP 2. 4 یک فید کانال را با استفاده از یک مدخل \fInewsfeeds\fR مانند زیر راه‌اندازی کنید: .Sp .Vb 3 \& inpaths!\e \& :*\e \& :Tc,WP:/ninpaths \-p \-d /path/inpaths.%d .Ve .Sp اگر نسخهٔ INN شما از \f(CW\*(C`WP\*(C'\fR پشتیبانی می‌کند (نسخه‌های 2.0 و جدیدتر همگی پشتیبانی می‌کنند). را با مسیر کامل دایرکتوری باینری‌های INN و را با مسیر کامل دایرکتوری لاگ‌های INN خود جایگزین نمایید. .Sp توجه داشته باشید که قرارداد نام‌گذاری فایل‌های دامپ تولیدشده توسط inpaths نباید تغییر کند. \fBsendinpaths\fR به‌طور صریح فایل‌هایی را که نام آن‌ها با \f(CW\*(C`inpaths.\*(C'\fR شروع می‌شود در دایرکتوری /path جستجو می‌کند. .IP 3. 4 دستور زیر را برای شروع ثبت این آمارها اجرا کنید: .Sp .Vb 1 \& ctlinnd reload newsfeeds \*(Aqinpaths feed setup\*(Aq .Ve .IP 4. 4 این دو خط را در crontab کاربر news وارد کنید: .Sp .Vb 2 \& 6 6 * * * /ctlinnd flush inpaths! \& 10 6 * * * /sendinpaths .Ve .Sp (زمان دقیق اهمیتی ندارد). این کار \fBninpaths\fR را وادار می‌کند تا روزی یک بار یک فایل دامپ تولید کند. سپس، چند دقیقه بعد، \fBsendinpaths\fR دامپ‌ها را جمع‌آوری کرده، گزارشی تهیه می‌کند، آمارهای جمع‌آوری‌شده را ارسال می‌نماید و دامپ‌های قدیمی را حذف می‌کند. .Sp توجه داشته باشید که می‌توانید به‌صورت دستی با دستور \f(CW\*(C`sendinpaths \-n\*(C'\fR بدون ارسال ایمیل و بدون حذف فایل‌های دامپ پردازش‌شده، یک گزارش تولید کنید. دستور مفید دیگر \f(CW\*(C`sendinpaths \-c\*(C'\fR است تا رونوشتی از ایمیل ارسال‌شده توسط \fBsendinpaths\fR دریافت نمایید و بدین ترتیب از درست بودن همه چیز اطمینان حاصل کنید. .IP 5. 4 پس از چند روز، بررسی کنید که آیا آمارهای روزانهٔ شما به‌درستی در ظاهر می‌شوند یا خیر. .SH "گزینه‌ها (OPTIONS)" .IX Header "گزینه‌ها (OPTIONS)" .IP "\fB\-d\fR \fIdumpfile\fR" 4 .IX Item "-d dumpfile" ذخیرهٔ دامپ‌ها در \fIdumpfile\fR. هر \f(CW\*(C`%d\*(C'\fR در \fIdumpfile\fR با زمان فعلی سیستم در هنگام ایجاد دامپ جایگزین خواهد شد. این گزینه باید همراه با \fB\-p\fR استفاده شود. اگر \fIdumpfile\fR برابر با \f(CW\*(C`\-\*(C'\fR باشد، از خروجی استاندارد استفاده می‌شود. .Sp قالب این فایل‌های دامپ در زیر شرح داده شده است. .IP \fB\-p\fR 4 .IX Item "-p" خواندن فیلدهای سرآیند Path از ورودی استاندارد. .IP "\fB\-r\fR \fIsite\fR" 4 .IX Item "-r site" تولید گزارش برای \fIsite\fR. به‌طور کلی \fIsite\fR باید مقدار \fIpathhost\fR از فایل \fIinn.conf\fR باشد. .IP "\fB\-u\fR \fIdumpfile\fR" 4 .IX Item "-u dumpfile" خواندن داده‌ها از \fIdumpfile\fR. این گزینه می‌تواند برای خواندن داده‌ها از چندین فایل دامپ تکرار شود. .IP "\fB\-v\fR \fIlevel\fR" 4 .IX Item "-v level" تنظیم سطح پرگویی (verbosity) گزارش. مقادیر معتبر برای \fIlevel\fR عبارتند از \f(CW\*(C`0\*(C'\fR، \&\f(CW\*(C`1\*(C'\fR و \f(CW\*(C`2\*(C'\fR، که \f(CW\*(C`2\*(C'\fR مقدار پیش‌فرض است. .SH "قالب فایل دامپ (DUMP FILE FORMAT)" .IX Header "قالب فایل دامپ (DUMP FILE FORMAT)" قالب فایل‌های دامپ تولیدشده به شرح زیر است: .PP .Vb 6 \& !!NINP \& \& ... \& !!NLREC \& :!,:!, ... \& !!NEND .Ve .PP که در آن، زمان‌ها برچسب زمانی یونیکس هستند. سپس، رکوردهای \fInb-sites\fR می‌آیند. هر رکورد با یک فاصله یا یک خط جدید جدا شده و شامل یک نام میزبان \fIsite_n\fR و به دنبال آن تعداد دفعات مشاهده \fIcount_n\fR است. تعداد فیلدهای سرآیند Path پردازش‌شده \fInb-articles\fR است. .PP پس از آن، روابط \fInb-relations\fR می‌آیند. در نسخه‌های 3.0.x، روابط با یک فاصله یا یک خط جدید جدا می‌شوند و نحو آن‌ها به‌صورت \&\f(CW\*(C`\fR\f(CIsite_a\fR\f(CW!\fR\f(CIsite_b\fR\f(CW!\fR\f(CIcount_ab\fR\f(CW\*(C'\fR است که در آن \fIsite_a\fR و \fIsite_b\fR شماره‌های رکوردهای سایت هستند که از 0 آغاز می‌شوند. .PP در نسخه‌های 3.1.x، روابط با یک دونقطه آغاز می‌شوند و با هیچ چیز یا یک خط جدید جدا می‌شوند. نحو آن‌ها به‌صورت \f(CW\*(C`:\fR\f(CIsite_a\fR\f(CW!\fR\f(CIsite_b\fR\f(CW,\fR\f(CIcount_ab\fR\f(CW\*(C'\fR با همان مفهوم نسخه‌های قبلی است. هنگامی که تعداد برابر با \f(CW\*(C`1\*(C'\fR باشد، می‌توان آن را حذف کرد. بیش از دو سایت را می‌توان در رابطه مشخص کرد (\f(CW\*(C`:\fR\f(CIsite_a\fR\f(CW!\fR\f(CIsite_b\fR\f(CW!\fR\f(CIsite_c\fR\f(CW,\fR\f(CIcount_abc\fR\f(CW\*(C'\fR). .PP برای نمونه: .PP .Vb 7 \& !!NINP 3.1.1 1302944821 1302944838 5 2 1302944826 \& newsgate.cistron.nl 1 news.trigofacile.com 2 news.ecp.fr 2 \& usenet.stanford.edu 1 \& bleachbot 1 \& !!NLREC \& :3!2:2!1,2:4!0:0!2 \& !!NLEND 4 .Ve .PP که در آن دو فیلد سرآیند Path پردازش‌شده عبارتند از: .PP .Vb 4 \& Path: news.trigofacile.com!news.ecp.fr!usenet.stanford.edu \& !not\-for\-mail \& Path: news.trigofacile.com!news.ecp.fr!newsgate.cistron.nl \& !bleachbot!not\-for\-mail .Ve .SH "نکات (NOTES)" .IX Header "نکات (NOTES)" اگر INN شما پرچم فید \f(CW\*(C`WP\*(C'\fR را ندارد (نسخهٔ 1.5 ندارد، نسخه‌های 1.6 و 1.7 دارند، نسخه‌های 2.0 و جدیدتر همگی دارند)، از مدخل \fInewsfeeds\fR زیر استفاده کنید: .PP .Vb 1 \& inpaths!:*:Tc,WH:/ginpaths .Ve .PP که در آن \fBginpaths\fR اسکریپت زیر است: .PP .Vb 3 \& #!/bin/sh \& exec egrep \*(Aq^Path: \*(Aq \e \& | /ninpaths \-p \-d /path/inpaths.%d .Ve .PP که در آن و همانند بالا جایگزین می‌شوند. .SH "تاریخچه (HISTORY)" .IX Header "تاریخچه (HISTORY)" این یک نسخهٔ اندکی اصلاح‌شده از برنامهٔ اصلی \fBninpaths\fR متعلق به Olaf Titz است که در alt.sources ارسال شده بود و در بایگانی وب او به نشانی نگهداری می‌شود. .PP ایده و برخی از جزئیات پیاده‌سازی \fBninpaths\fR از برنامهٔ اصلی \fBinpaths\fR برگرفته شده است، اما بیشتر کد برای وضوح بیشتر بازنویسی شده است. این برنامه در مالکیت عمومی (public domain) قرار دارد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "همچنین ببینید (SEE ALSO)" \&\fBnewsfeeds\fR(5)، \&\fBsendinpaths\fR(8).