ACTSYNC(8) InterNetNews Documentation ACTSYNC(8)

actsync - همگام‌سازی پرونده‌های active سرورهای خبر

actsync [-AkmT] [-b hostid] [-d hostid] [-g max] [-i ignore-file] [-I hostid] [-l hostid] [-n name] [-o format] [-p min-unchanged] [-q hostid] [-s size] [-t hostid] [-v verbosity] [-w seconds] [-z seconds] [host] host

actsyncd config [debug-level [debug-format]]

این برنامه‌ها این امکان را فراهم می‌کنند که فهرست گروه‌های خبری ارائه‌شده توسط سرور خبر شما با یک منبع خارجی همگام نگه‌داشته شود.

به عنوان مثال، می‌توانید تصمیم بگیرید همان گروه‌های خبری را ارائه دهید که در یک سرور خبر دیگر وجود دارند یا در یک فایل از یک وبگاه یا سرور FTP خارجی فهرست شده‌اند، و سپس با اجرای actsyncd در یک وظیفه cron، به صورت روزانه با منبع انتخاب‌شده همگام‌سازی کنید.

اگر تنها زیرمجموعه‌ای از گروه‌های خبری را از آن منبع می‌خواهید، می‌توانید این موضوع را در فایل پیکربندی actsync.ign در دایرکتوری pathetc مشخص کنید.

سامانه INN با یک پیکربندی پیش‌فرض برای دریافت فهرست گروه‌های خبری از "downloads.isc.org" (همچنین با نام "ftp.isc.org") عرضه می‌شود. می‌توانید درباره سیاست‌های به‌کاررفته در نگهداری آن پرونده active در نشانی https://downloads.isc.org/pub/usenet/CONFIG/README مطالعه کنید. تنها کافی است مطمئن شوید actsync.cfg (فایل پیکربندی) و actsync.ign (قوانین همگام‌سازی) متناسب با نیازهای شما هستند و سپس دستور زیر را اجرا کنید:

actsyncd <pathetc>/actsync.cfg

مثال‌های دقیق‌تر از نحوه استفاده را در ادامه این صفحه راهنما خواهید یافت.

ابزار actsync امکان همگام‌سازی، مقایسه یا ادغام دو پرونده active را فراهم می‌کند. با این ابزار می‌توان گروه‌های خبری را در سرور خبر محلی افزود، تغییر داد یا حذف کرد تا مشابه فهرست گروه‌های خبری موجود در یک سیستم یا فایل دیگر شود. همگام‌سازی نیازی به تطابق دقیق ندارد. تفاوت‌های محلی در فهرست گروه‌های خبری را می‌توان حفظ و نگهداری کرد. خطاهای خاصی در گروه‌های خبری شناسایی شده و در صورت تمایل اصلاح می‌شوند.

دلایل متعددی برای اجرای دوره‌ای actsync (یا actsyncd) وجود دارد. از جمله این دلایل می‌توان به موارد زیر اشاره کرد:

  • یک پیام کنترلی برای افزودن، تغییر یا حذف یک گروه خبری ممکن است به سایت شما نرسیده باشد.
  • پرونده control.ctl شما ممکن است قدیمی یا ناقص باشد.
  • مقاله‌های خبری برای یک گروه خبری جدید ممکن است زودتر (گاهی چند روز زودتر) از پیام کنترلی برسند.
  • پیام‌های کنترلی ممکن است جعل شوند و بدین ترتیب محدودیت‌های موجود در control.ctl را دور بزنند، مگر اینکه احراز هویت PGP را تنظیم کرده باشید (و حتی در آن صورت نیز همه سلسله‌مراتب‌ها از احراز هویت PGP استفاده نمی‌کنند).
  • پرونده active شما ممکن است آسیب دیده یا خراب شده باشد.

اگر هر یک از آرگومان‌های host با "." یا "/" آغاز شود، به عنوان نام فایلی حاوی اطلاعات در قالب active(5) در نظر گرفته می‌شود. با اطلاعات گروه خبری برگرفته از یک فایل درست مانند زمانی رفتار می‌شود که از یک میزبان دریافت شده باشد. در این صفحه راهنما، آرگومان‌های host در خط فرمان میزبان (host) نامیده می‌شوند، حتی اگر نام فایل باشند.

اگر یک آرگومان میزبان با "." یا "/" آغاز نشود، به عنوان نام میزبان یا نشانی اینترنتی در نظر گرفته می‌شود. در این حالت، actsync تلاش خواهد کرد با استفاده از پروتکل NNTP یک نسخه از پرونده active سیستم مشخص‌شده را به دست آورد. اگر آرگومان میزبان حاوی ":" باشد، سمت راست به عنوان درگاهی در نظر گرفته می‌شود که باید در سیستم راه دور به آن متصل شد. اگر شماره درگاهی مشخص نشود، actsync به درگاه "119" متصل خواهد شد.

صرف‌نظر از نحوه به دست آمدن اطلاعات پرونده active، اقدامات actsync یکسان خواهد بود.

اولین میزبان مشخص‌شده، میزبان محلی در نظر گرفته می‌شود، همان جایی که تغییرات در آن اعمال خواهد شد. دومین میزبان مشخص‌شده، میزبان راه دور است که با آن همگام‌سازی می‌شود. اگر تنها یک میزبان مشخص شود، میزبان راه دور برای همگام‌سازی فرض می‌شود، و میزبان محلی همان سرور محلی پیش‌فرض NNTP در نظر گرفته می‌شود که توسط متغیر محیطی NNTPSERVER یا مقدار server موجود در inn.conf تعیین شده است.

اگر هر یک از میزبان‌ها به صورت "-" مشخص شود، سرور پیش‌فرض برای آن میزبان استفاده خواهد شد که طبق توضیحات بالا تعیین می‌شود.

همگام‌سازی گروه‌های خبری، به طور پیش‌فرض، شامل تمام گروه‌های خبری موجود در هر دو میزبان می‌شود. همچنین می‌توان با هدایت actsync به نادیده گرفتن برخی گروه‌های خبری از هر دو سیستم، زیرمجموعه‌ای از گروه‌های خبری را همگام‌سازی کرد. تنها گروه‌های خبری با نام معتبر همگام‌سازی خواهند شد. برای معتبر بودن، نام گروه خبری فقط باید شامل نویسه‌های الفبایی-عددی، ".", "+", "-" و "_" باشد. نمی‌توان دو نویسه "." پشت سر هم داشت. نویسه نخست باید الفبایی-عددی باشد، همچنین هر نویسه‌ای که پس از "." می‌آید باید الفبایی-عددی باشد. نام نباید با نویسه "." پایان یابد.

دیمن actsyncd رابطی مناسب برای پیکربندی و اجرای actsync فراهم می‌کند. اگر میزبانی در ابتدا در دسترس نباشد، دیمن تا ۹ بار دیگر تلاش مجدد خواهد کرد و پیش از هر تلاش ۶ دقیقه منتظر می‌ماند. این دیمن در پیش‌زمینه اجرا می‌شود و خروجی را به خروجی استاندارد و خطای استاندارد ارسال می‌کند. actsyncd ابزار getlist(1) را برای دریافت نسخه‌ای از پرونده active یک سیستم راه دور از طریق سرور NNTP آن اجرا می‌کند، یا یک برنامه کلاینت FTP یا وب (wget یا ncftpget در صورت نصب بودن و شناسایی در زمان پیکربندی، یا برنامه simpleftp(1) که همراه INN عرضه می‌شود) را برای واکشی فهرست گروه‌های خبری از یک آرشیو خارجی (مانند https://downloads.isc.org/pub/usenet/CONFIG/active؛ در ادامه بیشتر در این باره بخوانید) اجرا می‌نماید. سپس در صورتی که دستوراتی برای ctlinnd در خروجی آن وجود داشته باشد، از mod-active(8) برای به‌روزرسانی پرونده active استفاده می‌کند.

نام فایل پیکربندی برای دیمن به عنوان آرگومان خط فرمان داده می‌شود، معمولاً actsync.cfg در pathetc. این فایل می‌تواند شامل گزینه‌های زیر باشد:

host=<host>
path=<path-to-active>
protocol=<protocol>
flags=<actsync-options>
ignore_file=<ignore-file>

خطوط "host=", "flags=" و "ignore_file=" اجباری هستند. هر کلمه کلیدی باید در ابتدای سطر شروع شود و هیچ فاصله سفیدی نباید پیش از نویسه "=" وجود داشته باشد. خطوط خالی و خطوط توضیحات که با "#" شروع می‌شوند نادیده گرفته می‌شوند. هر خط دیگری ممکن است نتایج تعریف‌نشده‌ای ایجاد کند.

تنظیم <host> به پارامتر دوم (راه دور) host برای actsync اشاره دارد. اگر <path-to-active> ارائه نشود، <protocol> برابر با "nntp" فرض می‌شود و به <host> به عنوان یک سرور NNTP راه دور دسترسی پیدا می‌شود. اگر <path-to-active> ارائه شود، بسته به مقدار <protocol> ("ftp", "http" یا "https"، که در صورت تنظیم نشدن پیش‌فرض "ftp" است)، به <host> به عنوان سرور FTP یا وب متصل شده و پرونده active را در مسیر مطلق <path-to-active> بازیابی می‌کند. اگر نام پرونده به ".bz2", ".gz" یا ".Z" ختم شود، پس از بازیابی به طور خودکار از حالت فشرده خارج خواهد شد. مقدار <actsync-options> شامل هر فلگ دیگری است که مایلید به actsync ارسال کنید. مقدار <ignore-file> نام فایل نادیده‌گیری مورداستفاده توسط actsync را تعیین می‌کند (گزینه -i).

توجه داشته باشید که نباید گزینه‌های -i یا -o را در خط "flags=" بگنجانید؛ آن‌ها به طور خودکار توسط actsyncd مدیریت می‌شوند.

می‌توان با ارائه آرگومان debug-level یک اجرای آزمایشی actsyncd را بدون ایجاد هرگونه تغییر روی سرور انجام داد:

actsyncd <pathetc>/actsync.cfg 2

آرگومان debug-level باعث می‌شود actsyncd ابزار actsync را با گزینه -v debug-level اجرا کند (که هر فلگ -v در خط "flags=" را بازنویسی می‌کند)، هیچ تغییری در پرونده active ایجاد نکند، یک پرونده active جدید در خروجی استاندارد بنویسد و پیام‌های اشکال‌زدایی را به خطای استاندارد ارسال کند. توجه داشته باشید که استفاده از debug-level تنها هنگام همگام‌سازی با یک سرور خبر دیگر پشتیبانی می‌شود، نه با FTP یا HTTP(S).

اگر آرگومان debug-format نیز به actsyncd داده شود، داده‌های نوشته‌شده در خروجی استاندارد به جای قالب "-o a1"; در قالب "-o debug-format" خواهند بود.

سامانه INN با مقادیر پیش‌فرض "downloads.isc.org" برای <host> و "/pub/usenet/CONFIG/active.gz" برای <path-to-active> عرضه می‌شود:

host=downloads.isc.org
path=/pub/usenet/CONFIG/active.gz
protocol=https
flags=-v 0 -p 80
ignore_file=actsync.ign

می‌توانید درباره سیاست‌های استفاده‌شده برای نگهداری آن پرونده active در نشانی https://downloads.isc.org/pub/usenet/CONFIG/README مطالعه کنید. همگام‌سازی روزانه از این پرونده را با استفاده از یک وظیفه cron مد نظر قرار دهید.

ابزار actsync گزینه‌های زیر را می‌پذیرد.

در تمامی گزینه‌های زیر، پارامتر hostid یکی از مقادیر زیر را می‌پذیرد:

0    neither server
1    local default server
2    remote server
12   both servers
21   both servers

به بیان دیگر، "1" به میزبان محلی (اولین آرگومان host در خط فرمان actsync) اشاره دارد و "2" به میزبان راه دور (دومین آرگومان host، یا تنها آرگومان در صورتی که فقط یکی داده شده باشد) اشاره دارد.

ابزار actsync پیش از صدور دستور LIST، تلاش می‌کند با استفاده از اطلاعات نام کاربری و گذرواژه در passwd.nntp(5) احراز هویت کند.
این گزینه باعث می‌شود actsync برای مقاصد همگام‌سازی، گروه‌های خبری با نام‌های به سبک "bork.bork.bork" (گروه‌های خبری که ۳ بخش پایانی آن‌ها یکسان است) را نادیده بگیرد. برای مثال، گروه‌های خبری زیر دارای نام‌های به سبک bork هستند:
alt.helms.dork.dork.dork
alt.auto.accident.sue.sue.sue
alt.election.vote.vote.vote

مقدار پیش‌فرض "-b 0"; است؛ هیچ گروه خبری به دلیل نام‌های به سبک bork نادیده گرفته نمی‌شود.

این گزینه باعث می‌شود actsync گروه‌های خبری را که تمام مؤلفه‌های مسیر آن‌ها عددی هستند نادیده بگیرد. برای مثال، گروه‌های خبری زیر مؤلفه‌های مسیر عددی دارند:
alt.prime.chongo.23209
391581.times.2.to_the.216193.power.-1
99.bottles.of.treacle.on.the.wall
linfield.class.envio_bio.101.d

دایرکتوری یک گروه خبری با مؤلفه کاملاً عددی، در صورت ذخیره‌سازی با روش ذخیره‌سازی tradspool، ممکن است با مقاله‌ای از یک گروه دیگر تداخل ایجاد کند؛ به storage.conf(5) مراجعه کنید. برای مثال، دایرکتوری نخستین گروه خبری فهرست‌شده در بالا همان مسیر مقاله شماره 23209 از گروه خبری زیر است:

alt.prime.chongo

مقدار پیش‌فرض "-d 0"; است؛ تمام گروه‌های خبری عددی از هر دو میزبان پردازش خواهند شد.

نادیده گرفتن هر گروه خبری با بیش از max سطح. برای مثال، "-g 6"; موارد زیر را نادیده می‌گیرد:
alt.feinstien.votes.to.trash.freedom.of.speech
alt.senator.exon.enemy.of.the.internet
alt.crypto.export.laws.dumb.dumb.dumb

اما این موارد را نادیده نمی‌گیرد:

alt.feinstien.acts.like.a.republican
alt.exon.amendment
alt.crypto.export.laws

اگر max برابر با "0" باشد، قابلیت حداکثر سطح غیرفعال است.

به طور پیش‌فرض، قابلیت حداکثر سطح غیرفعال است.

فایل نادیده‌گیری (ignore-file)، معمولاً actsync.ign در pathetc، امکان کنترل دقیق بر نادیده گرفته شدن گروه‌های خبری را فراهم می‌سازد. این فایل شامل مجموعه‌ای از قوانین است که مشخص می‌کند کدام گروه‌های خبری بررسی و کدام نادیده گرفته شوند.

به طور پیش‌فرض، این قوانین برای هر دو میزبان اعمال می‌شوند. این رفتار را می‌توان با استفاده از گزینه -I تغییر داد.

خطوط خالی و متن‌های پس از "#" توضیح محسوب شده و نادیده گرفته می‌شوند.

سطرهای قوانین از بخش‌هایی تشکیل شده‌اند که با فاصله سفید از هم جدا می‌شوند. خطوط قوانین می‌توانند یکی از دو شکل زیر باشند:

c <newsgroup> [<type> ...]
i <newsgroup> [<type> ...]

اگر قانون با "c" شروع شود، درخواست بررسی برخی گروه‌های خبری را دارد. اگر قانون با "i" شروع شود، درخواست نادیده گرفتن برخی گروه‌های خبری را دارد. فیلد <newsgroup> می‌تواند یک گروه خبری خاص یا یک الگوی uwildmat باشد.

اگر یک یا چند <type> مشخص شده باشند، قانون تنها در صورتی برای گروه خبری اعمال می‌شود که از نوع مشخص‌شده باشد. انواع به فیلد چهارم پرونده active اشاره دارند؛ یعنی یک نوع می‌تواند یکی از موارد زیر باشد:

y
n
m
j
x
=group.name

برخلاف پرونده‌های active، مقدار "group.name" در نوع نام مستعار (alias) می‌تواند نام یک گروه خبری یا یک الگوی uwildmat باشد. همچنین، "=" معادل با "=*" است.

در هر خط قانون، هیچ نوع الگویی نباید تکرار شود. برای مثال، نمی‌توان در یک خط بیش از یک نوع داشت که با "=" شروع می‌شود. با این حال، می‌توان با استفاده از چندین خط قانون مؤثر بر یک گروه خبری، به اثری معادل با استفاده از چندین نوع "=" دست یافت.

به طور پیش‌فرض، تمامی گروه‌های خبری کاندیدای بررسی هستند. اگر هیچ فایل نادیده‌گیری مشخص نشود یا فایل نادیده‌گیری شامل هیچ خط قانونی نباشد، تمام گروه‌های خبری بررسی خواهند شد. در صورت استفاده از فایل نادیده‌گیری، هر گروه خبری به نوبت در برابر فایل نادیده‌گیری بررسی می‌شود. اگر چند خط با یک گروه خبری مشخص مطابقت داشته باشند، آخرین خط موجود در فایل نادیده‌گیری استفاده خواهد شد.

برای مثال، سطرهای فایل نادیده‌گیری زیر را در نظر بگیرید:

i *.general
c *.general m
i nsa.general

گروه‌های خبری ba.general و mod.general در صورت مدیریت‌شده (moderated) بودن همگام‌سازی شده و در صورت مدیریت‌نشده بودن نادیده گرفته می‌شوند. گروه خبری nsa.general صرف‌نظر از وضعیت مدیریت آن نادیده گرفته خواهد شد. تمامی گروه‌های خبری که با *.general مطابقت ندارند، به طور پیش‌فرض همگام‌سازی می‌شوند.

این گزینه میزبان‌هایی را که تحت تأثیر فایل نادیده‌گیری قرار می‌گیرند محدود می‌کند. این گزینه می‌تواند در ترکیب با گزینه -m مفید باشد. برای مثال:
actsync -i actsync.ign -I 2 -m host1 host2

تمام گروه‌های خبری را که در حال حاضر در host1 هستند حفظ خواهد کرد. همچنین فقط گروه‌های host1 را با گروه‌های خبری نادیده‌گرفته‌نشده از host2 مقایسه می‌کند.

مقدار پیش‌فرض "-I 12"; است؛ گروه‌های خبری از هر دو میزبان طبق فایل مشخص‌شده با -i نادیده گرفته می‌شوند.

به طور پیش‌فرض، هر گروه خبری در میزبان محلی که نام نامعتبری داشته باشد، برای حذف در نظر گرفته می‌شود. این گزینه باعث می‌شود actsync چنین گروه‌های خبری را نادیده بگیرد. این گزینه در ترکیب با -m از زمان‌بندی هر گروه خبری برای حذف جلوگیری می‌کند.
این گزینه باعث می‌شود گروه‌های خبری مشکل‌دار از نوع "=" به عنوان خطا در نظر گرفته شوند. گروه‌های خبری از نوع "=" ورودی‌های پرونده active هستند که فیلد چهارم آن‌ها با "=" شروع می‌شود؛ یعنی گروه‌های خبری که نام مستعار گروه‌های خبری دیگر هستند. یک گروه خبری مشکل‌دار گروهی است که یکی از شرایط زیر درباره آن صدق کند:
  • نام مستعار خودش باشد.
  • در یک زنجیره نام مستعار باشد که به خودش بازمی‌گردد (حلقه تشکیل می‌دهد).
  • در یک زنجیره نام مستعار با طول بیش از ۱۶ گروه باشد.
  • نام مستعار یک گروه خبری ناموجود باشد.
  • نام مستعار گروه خبری دیگری باشد که دارای نوعی خطا است.

با این حال، گروه خبری که معادل یک گروه خبری نادیده‌گرفته‌شده باشد، مشکل‌دار نیست.

مقدار پیش‌فرض "-l 12"; است: گروه‌های خبری مشکل‌دار از هر دو میزبان به عنوان خطا علامت‌گذاری می‌شوند.

ادغام گروه‌های خبری به جای همگام‌سازی. به طور پیش‌فرض، اگر یک گروه خبری در میزبان محلی وجود داشته باشد اما در میزبان راه دور نباشد، برای حذف زمان‌بندی خواهد شد. این گزینه این فرآیند را غیرفعال می‌کند و اجازه می‌دهد گروه‌های خبری منحصر‌به‌فرد در میزبان محلی حفظ شوند.
بسته به گزینه -o، دستور ctlinnd(8) ممکن است در صورت نیاز برای ایجاد گروه‌های خبری استفاده شود. هنگام انجام این کار، نام ایجادکننده پیش‌فرضی که استفاده می‌شود "actsync" است. این گزینه نام ایجادکننده را به name تغییر می‌دهد.
تعیین قالب خروجی یا عملیات این ابزار. format می‌تواند یکی از موارد زیر باشد:
خروجی در قالب active(5).
خروجی در قالب active(5) و درج گروه‌های نادیده‌گرفته‌شده بدون خطا از میزبان محلی.
خروجی در قالب active(5)، اما استفاده از مقادیر بالا و پایین (فیلدهای دوم و سوم پرونده active) از میزبان راه دور برای هر گروه خبری که ایجاد می‌شود.
خروجی در قالب active(5)، اما استفاده از مقادیر بالا و پایین (فیلدهای دوم و سوم پرونده active) از میزبان راه دور برای تمام گروه‌های خبری موجود در آن میزبان.
خروجی در قالب active(5)، اما استفاده از مقادیر بالا و پایین (فیلدهای دوم و سوم پرونده active) از میزبان راه دور برای هر گروه خبری که ایجاد می‌شود و درج گروه‌های نادیده‌گرفته‌شده بدون خطا از میزبان محلی.
خروجی در قالب active(5)، اما استفاده از مقادیر بالا و پایین (فیلدهای دوم و سوم پرونده active) از میزبان راه دور برای تمام گروه‌های خبری موجود در آن میزبان و درج گروه‌های نادیده‌گرفته‌شده بدون خطا از میزبان محلی.
مشابه "a1k".
مشابه "a1K".
خروجی به صورت دستوراتی برای ctlinnd.
بدون خروجی؛ در عوض، اجرای مستقیم دستورات ctlinnd.
بدون خروجی؛ در عوض، اجرای مستقیم دستورات ctlinnd در حالت تعاملی.

قالب‌های سبک "a", "a1", "ak", "aK", "a1k", "a1K", "ak1" و "aK1" به کاربر اجازه می‌دهند به جای تولید دستورات ctlinnd، یک پرونده active جدید را قالب‌بندی کند. آن‌ها برای گروه‌های خبری ایجادشده از مقادیر بالا و پایین به ترتیب "0000000000" و "0000000001" استفاده می‌کنند، مگر اینکه خلاف آن مشخص شده باشد. گونه‌های "ak" و "aK" مقادیر بالا و پایین (فیلدهای دوم و سوم پرونده active) را تغییر می‌دهند. در مورد "ak"، گروه‌های خبری ایجادشده مقادیر بالا و پایین خود را از میزبان راه دور می‌گیرند. در مورد "aK"، تمام گروه‌های خبری یافت‌شده در میزبان راه دور مقادیر بالا و پایین خود را از آن دریافت می‌کنند.

قالب "c" دستورات ctlinnd را تولید می‌کند. هیچ عملی انجام نمی‌شود زیرا actsync تنها دستورات ctlinnd را در خروجی استاندارد چاپ می‌کند. این قالب خروجی برای مشاهده چگونگی تأثیرپذیری میزبان محلی از همگام‌سازی (یا ادغام) با میزبان راه دور مفید است.

همگام‌سازی (یا ادغام) می‌تواند مستقیماً با استفاده از قالب "x" یا "xi" انجام شود. با این قالب، actsync از فراخوانی سیستمی execl(2) برای اجرای مستقیم دستورات ctlinnd استفاده می‌کند. خروجی این فراخوانی‌های exec در صورتی قابل مشاهده است که سطح پرگویی حداقل "2" باشد.

اگر گزینه "-o x"; انتخاب شده باشد، ابزار actsync پیش از اجرای هر دستور ۴ ثانیه مکث خواهد کرد. برای بررسی این تأخیر و نحوه سفارشی‌سازی آن، گزینه -z را در زیر ببینید.

قالب "xi" به صورت تعاملی اعلان‌ها را در خروجی استاندارد نمایش می‌دهد و دستورالعمل‌ها را از ورودی استاندارد می‌خواند. با استفاده از این قالب می‌توان تغییرات مورد نظر را انتخاب کرد.

هنگام تولید خروجی با قالب active(5) باید احتیاط کرد. پیش از استفاده از چنین خروجی، باید مطمئن شد که actsync با وضعیت صفر خارج شده است. همچنین باید توجه داشت که این خروجی شامل خطوط نادیده‌گرفته‌شده به دلیل گزینه -i نخواهد بود، حتی اگر از "-p 100"; استفاده شده باشد.

به طور پیش‌فرض، "-o c"; فرض می‌شود.

به طور پیش‌فرض، ابزار actsync دارای تدابیر حفاظتی در برابر اعمال تغییرات گسترده است. اگر کمتر از min-unchanged درصد از خطوط نادیده‌گرفته‌نشده از میزبان محلی بدون تغییر باقی بمانند، هیچ اقدامی (خروجی، اجرا و غیره) انجام نمی‌شود و actsync با یک وضعیت خروج غیرصفر خارج می‌شود. مقدار min-unchanged می‌تواند یک مقدار ممیز شناور مانند "66.667" باشد.

تغییر عبارت است از خطی از گروه خبری محلی که حذف شده، افزوده شده، تغییر یافته، یا دارای خطا تشخیص داده شده است. تغییر فیلدهای دوم یا سوم active از طریق "-o ak"; یا "-o aK"; توسط -p به عنوان تغییر در نظر گرفته نمی‌شود.

برای وادار کردن actsync به پذیرش هر میزان تغییر، از گزینه "-p 0"; استفاده کنید. برای وادار کردن actsync به رد هرگونه تغییر، از گزینه "-p 100"; استفاده نمایید.

هنگام تولید خروجی با قالب active(5) باید احتیاط کرد. پیش از استفاده از چنین خروجی، باید مطمئن شد که actsync با وضعیت صفر خارج شده است. همچنین باید توجه داشت که این خروجی شامل خطوط نادیده‌گرفته‌شده به دلیل گزینه -i نخواهد بود، حتی اگر از "-p 100"; استفاده شده باشد.

به طور پیش‌فرض، ۹۶٪ از خطوط نادیده‌گرفته‌نشده در اولین آرگومان host در خط فرمان actsync باید بدون تغییر باقی بمانند. یعنی به طور پیش‌فرض، "-p 96"; فرض می‌شود.

به طور پیش‌فرض، تمام خطاهای گروه‌های خبری در خطای استاندارد گزارش می‌شوند. این گزینه خطاهای ناشی از hostid مشخص‌شده را بی‌صدا می‌کند.
اگر size بزرگتر از ۰ باشد، گروه‌های خبری با نام‌های طولانی‌تر از size و گروه‌های خبری دارای نام مستعار (با دنبال کردن زنجیره‌های "=") به نام‌های طولانی‌تر از size نادیده گرفته می‌شوند. بررسی طول در هر دو میزبان محلی و راه دور انجام می‌گیرد.

به طور پیش‌فرض، size برابر با "0" است و بنابراین هیچ بررسی طولی انجام نمی‌شود.

نادیده گرفتن گروه‌های خبری نامناسب شامل تنها یک مؤلفه سطح‌بالا از hostid مشخص‌شده. گروه‌های خبری زیر با وجود داشتن نام‌های تنها شامل سطح‌بالا، گروه‌های خبری مناسب در نظر گرفته می‌شوند و بنابراین از این گزینه مستثنی هستند:
control
general
junk
test
to

برای مثال، نام‌های گروه‌های خبری زیر نامناسب هستند زیرا تنها حاوی یک بخش سطح‌بالا می‌باشند:

dole_for_pres
dos
microsoft
windows95

مقدار پیش‌فرض "-t 2"; است؛ به این معنی که تمام گروه‌های خبری نامناسبِ تک‌سطحی از میزبان راه دور نادیده گرفته می‌شوند.

این گزینه باعث می‌شود گروه‌های خبری موجود در میزبان راه دور که در سلسله‌مراتب‌های جدید هستند نادیده گرفته شوند. به طور معمول یک گروه خبری که تنها در میزبان راه دور وجود دارد، برای مثال chongo.was.here، روی میزبان محلی ایجاد می‌شود. با این حال، اگر این گزینه داده شود و میزبان محلی هیچ گروه خبری دیگری در همان سلسله‌مراتب (در این مورد chongo.*) نداشته باشد، گروه خبری مورد نظر نادیده گرفته شده و در میزبان محلی ایجاد نخواهد شد.
به طور پیش‌فرض، actsync پرگو نیست. این گزینه سطح پرگویی را به شرح زیر کنترل می‌کند:
0
بدون گزارش وضعیت یا اشکال‌زدایی (پیش‌فرض).
1
چاپ خلاصه، اما فقط در صورتی که کاری نیاز بوده یا انجام شده باشد.
2
چاپ اقدامات، خروجی exec و خلاصه، اما فقط در صورتی که کاری نیاز بوده یا انجام شده باشد.
3
چاپ اقدامات، خروجی exec و خلاصه.
4
خروجی کامل اشکال‌زدایی.
اگر "-o x"; یا "-o xi"; انتخاب شده باشد، ctlinnd پیش از انقضای زمان، به مدت seconds ثانیه منتظر خواهد ماند. مقدار پیش‌فرض "-w 30"; است.
اگر "-o x"; انتخاب شده باشد، actsync پیش از اجرای هر دستور به مدت seconds ثانیه مکث خواهد کرد. این کار به جلوگیری از اشغال بیش‌از‌حد innd در مواردی که تعداد زیادی دستور ctlinnd مورد نیاز است کمک می‌کند. می‌توان با استفاده از "-z 0"; این زمان انتظار را کاملاً غیرفعال کرد.

به طور پیش‌فرض، اگر "-o x"; انتخاب شده باشد، actsync پیش از اجرای هر دستور "4" ثانیه مکث خواهد کرد.

تشخیص تفاوت‌ها (بدون تغییر در هیچ چیز) بین مجموعه گروه‌های خبری شما و سرور خبر دیگر:

actsync news.server.com

همانند بالا، همراه با خروجی کامل اشکال‌زدایی و گزارش‌های پیشرفت:

actsync -v 4 news.server.com

وادار کردن یک سایت به داشتن گروه‌های خبری دقیقاً مشابه با سایتی دیگر:

actsync -o x master

این کار ممکن است برای همگام‌سازی یک سایت وابسته (slave) با سایت اصلی (master) آن، یا همگام‌سازی یک سایت داخلی با یک درگاه (gateway) مفید باشد.

مقایسه سایت شما با news.server.com، بدون در نظر گرفتن گروه‌های محلی و برخی تفاوت‌های محلی با آن. تولید گزارش در صورت مواجهه با هرگونه تفاوت:

actsync -v 2 -i actsync.ign news.server.com

به طوری که actsync.ign شامل موارد زیر باشد:

# Don't compare to.* groups as they will differ.
#
i       to.*
# These are our local groups that nobody else
# (should) carry.  So ignore them for the sake
# of the compare.
#
i       nsa.*
# These groups are local favorites, so keep them
# even if news.server.com does not carry them.
#
i       ca.dump.bob.dorman
i       ca.keep.bob.dorman
i       alt.tv.dinosaurs.barney.die.die.die
i       alt.tv.dinosaurs.barney.love.love.love
i       alt.sounds.*    =alt.binaries.sounds.*

برای همگام‌سازی تعاملی در برابر news.server.com با استفاده از همان فایل نادیده‌گیری:

actsync -o xi -v 2 -i actsync.ign news.server.com

بر اساس گروه‌های خبری که تصمیم به نگهداری آن‌ها گرفتید، می‌توان تغییراتی در پرونده actsync.ign ایجاد کرد:

# Don't compare to.* groups as they will differ.
#
i       to.*
# These are our local groups that nobody else
# (should) carry.  So ignore them for the sake
# of the compare.
#
i       nsa.*
# These groups are local favorites, so keep them
# even if news.server.com does not carry them.
#
i       ca.dump.bob.dorman
i       alt.tv.dinosaurs.barney.die.die.die
i       alt.sounds.*    =alt.binaries.sounds.*
# Don't sync test groups, except for ones that are
# moderated or that are under the gnu hierarchy.
#
i       *.test
c       *.test m        # check moderated test groups
c       gnu.*.test
c       gnu.test        # just in case it ever exists

پردازش خودکار را می‌توان با استفاده از فایل actsync.cfg زیر تنظیم کرد:

# Host to sync off of (host2).
host=news.server.com
# Location of the ignore file.
ignore_file=<pathetc in inn.conf>/actsync.ign
# actsync(8) flags
#
# Automatic execs, report if something was done,
# otherwise don't say anything, don't report
# news.server.com active file problems, just ignore
# the affected entries.
flags=-o x -v 2 -q 2

و سپس با اجرای actsyncd همراه با مسیر فایل پیکربندی:

actsyncd <pathetc>/actsync.cfg

دستور

actsyncd <pathetc>/actsync.cfg 4 >cmd.log 2>dbg.log

در حالت اشکال‌زدایی عمل کرده، پرونده active را تغییر نخواهد داد، دستورات به سبک ctlinnd را در cmd.log نوشته و گزارش‌های اشکال‌زدایی را در dbg.log ثبت می‌کند. (توجه داشته باشید که استفاده از debug-level تنها هنگام همگام‌سازی با یک سرور خبر دیگر پشتیبانی می‌شود، نه با FTP یا HTTP(S).)

برای بررسی تنها سلسله‌مراتب‌های اصلی در برابر news.server.com، از فایل actsync.ign زیر استفاده کنید:

# By default, ignore everything.
#
i       *
# Check the major groups.
#
c       alt.*
c       comp.*
c       gnu.*
c       humanities.*
c       misc.*
c       news.*
c       rec.*
c       sci.*
c       soc.*
c       talk.*

و دستور:

actsync -i actsync.ign news.server.com

برای تشخیص تفاوت‌های میان پرونده active قدیمی شما و سرور پیش‌فرض کنونی:

actsync <pathetc>/active.old -

برای گزارش دادن اما برطرف نکردن مشکلات گروه‌های خبری در پرونده active کنونی:

actsync - -

برای شناسایی هرگونه خطای گروه‌های خبری در سرور محلی و حذف نام‌های نامعقول به سبک *.bork.bork.bork:

actsync -b 2 - -

پرونده active تولیدشده توسط:

actsync <flags> -o x erehwon.honey.edu

در عمل مشابه پرونده active تولیدشده توسط دستورات زیر است:

cd <pathdb>
ctlinnd pause 'running actsync'
rm -f active.new
actsync <flags> -o a1 erehwon.honey.edu > active.new
rm -f active.old
ln active active.old
mv active.new active
ctlinnd reload active 'running actsync'
ctlinnd go 'running actsync'

لازم به ذکر است که روش پایانی در بالا، یعنی متوقف کردن موقت سرور و جایگزینی ساده پرونده active، در صورت ایجاد تغییرات فراوان ممکن است سریع‌تر باشد.

برنامه C اصلی که برای همگام‌سازی، مقایسه یا ادغام دو پرونده active به کار می‌رود.
دیمن شل (Shell) که رابطی مناسب برای پیکربندی و اجرای actsync فراهم می‌سازد.
فایل پیکربندی که تنظیمات مورداستفاده را مشخص می‌کند.
فایل نادیده‌گیری که شامل مجموعه‌ای از قوانین همگام‌سازی است و مشخص می‌کند کدام گروه‌های خبری بررسی و کدام نادیده گرفته شوند.

استفاده بی‌دقت از این ابزار ممکن است منجر به افزودن، تغییر یا حذف ناخواسته گروه‌های خبری شود. تا زمانی که مطمئن نشده‌اید برنامه دقیقاً همان کاری را انجام می‌دهد که می‌خواهید، از استفاده از قالب خروجی "x" خودداری کنید.

اگر یک گروه خبری چند بار تکرار شده باشد، actsync تمام نسخه‌های آن را به عنوان خطا در نظر می‌گیرد. با این حال، اگر گروه برای حذف علامت‌گذاری شده باشد، تنها یک دستور rmgroup صادر خواهد شد.

نوشته‌شده توسط Landon Curt Noll <chongo@toad.com> برای InterNetNews. به‌روزرسانی‌شده برای پشتیبانی از واکشی FTP توسط David Lawrence <tale@isc.org>، و واکشی HTTP(S) توسط Julien Élie. تبدیل‌شده به POD توسط Russ Allbery <eagle@eyrie.org>.

توسط Landon Curt Noll <chongo@toad.com> (chongo was here /\../\).

حق نشر (c) لاندن کورت نول، ۱۹۹۳. کلیه حقوق محفوظ است.

اجازه استفاده و تغییر مشروط بر باقی ماندن این اعلان اعطا می‌شود. استفاده با مسئولیت خودتان است. هیچ ضمانتی ارائه نمی‌شود.

active(5), ctlinnd(8), getlist(1), inn.conf(5), libinn_uwildmat(3), mod-active(8), passwd.nntp(5), simpleftp(1).

2025-03-29 INN 2.7.4