GREPHISTORY(1) InterNetNews Documentation GREPHISTORY(1)

grephistory - پرس‌وجوی پایگاه‌دادهٔ تاریخچهٔ INN

grephistory [-eilnqsv] [-f db] [message-id]

دستور grephistory پایگاه‌دادهٔ تاریخچهٔ INN را برای دریافت اطلاعات دربارهٔ message-ID مشخص‌شده پرس‌وجو می‌کند. اگر هیچ پرچمی داده نشود، برنامه نشانهٔ storage API مقالهٔ مربوطه را چاپ می‌کند، یا اگر مقاله در پایگاه‌دادهٔ تاریخچه فهرست شده ولی روی سرور ذخیره نشده باشد، "/dev/null" را چاپ خواهد کرد. در صورتی که message-ID در پایگاه‌داده یافت نشود، grephistory عبارت "grephistory: not found" را چاپ کرده و با وضعیت غیرصفر خارج می‌شود.

حتماً نویسه‌های خاص موجود در message ID را در برابر پوسته گریز دهید (escape کنید). استفاده از نقل‌قول‌های تکی (single quotes) برای این منظور پیشنهاد می‌شود، چرا که بسیاری از message-IDها شامل علامت دلار هستند.

تنها در صورتی نشانهٔ ذخیره‌سازی (storage token) را چاپ می‌کند که مقاله روی سیستم ذخیره شده باشد. (به بیان دیگر، از خروجی "/dev/null" یا "not found" برای مقالات مفقود یا به‌خاطرسپرده‌شده صرف‌نظر می‌کند.)
به جای پایگاه‌دادهٔ پیش‌فرض، پایگاه‌دادهٔ تاریخچهٔ db را پرس‌وجو می‌کند.
به جای انتظار برای دریافت message-ID در خط فرمان، grephistory فهرستی از شناسهٔ پیام‌ها را از ورودی استاندارد می‌خواند، هر کدام در یک سطر. فاصله‌های سفید ابتدا و انتهای سطر و همچنین سطرهای نامعتبر نادیده گرفته می‌شوند. این گزینه message-IDهایی را که در پایگاه‌دادهٔ تاریخچه یافت نشوند در خروجی استاندارد چاپ می‌کند. این پرچم هنگام پردازش پیام‌های کنترلی "ihave" به کار می‌رود.
به جای نمایشِ صرف نشانهٔ storage API، کل خط مربوطه از پایگاه‌دادهٔ تاریخچه را نمایش می‌دهد. اگر message-ID در پایگاه‌دادهٔ تاریخچه وجود داشته باشد اما فاقد نشانهٔ storage API باشد، grephistory چیزی چاپ نمی‌کند.
اگر message-ID در پایگاه‌دادهٔ تاریخچه موجود باشد اما فاقد نشانهٔ storage API باشد، عبارت "/dev/null" را چاپ کرده و با موفقیت خارج می‌شود. این حالت ممکن است زمانی رخ دهد که مقاله‌ای لغو یا منقضی شده باشد، اما اطلاعات تاریخچهٔ آن همچنان حفظ شده باشد. این رفتار پیش‌فرض است.
هیچ پیامی چاپ نمی‌کند، اما همچنان با وضعیت مناسب خارج می‌شود.
به جای انتظار دریافت message-ID در خط فرمان، grephistory فهرستی از message-IDها را از ورودی استاندارد به‌صورت سطربه‌سطر می‌خواند. فاصله‌های خالی ابتدا و انتهای سطر و همچنین هرگونه سطر نامعتبر نادیده گرفته می‌شوند. این گزینه نشانه‌های storage API را برای تمام مقالاتی که هنوز در دسترس هستند در خروجی استاندارد چاپ می‌کند، در هر خط یکی. این پرچم هنگام پردازش پیام‌های کنترلی "sendme" استفاده می‌شود.
هشِ message-ID را به همراه هر اطلاعات درخواستی دیگر برای اهداف عیب‌یابی چاپ می‌کند. استفاده از این پرچم در کنار -i یا -s کاربردی ندارد.

در حالتی که مقالهٔ درخواستی در پایگاه‌دادهٔ تاریخچه فهرست نشده باشد:

% grephistory '<unknown.article@news.example.com>'
grephistory: not found
% grephistory -v '<unknown.article@news.example.com>'
grephistory: not found (hash is 501C66C22932BA91131186D7218201EB)

در حالتی که مقالهٔ درخواستی در پایگاه‌دادهٔ تاریخچه فهرست شده باشد اما روی سرور ذخیره نشده باشد:

% grephistory '<remembered.article@news.example.com>'
/dev/null

در حالتی که مقالهٔ درخواستی روی سرور ذخیره شده باشد:

% grephistory '<87fxeaay1z.fsf@windlord.stanford.edu>'
@02014A2DD6231FCC00000000000000000000@
% grephistory -l '<87fxeaay1z.fsf@windlord.stanford.edu>'
[B6DDF69376E3CC199246CEC949B3ACAC]  1244517923~-~1244517912
  @02014A2DD6231FCC00000000000000000000@

به کمک sm می‌توانیم مقاله را بازیابی کرده و تاریخ ارسال (posting date) آن را مشاهده کنیم:

% grephistory '<87fxeaay1z.fsf@windlord.stanford.edu>' \
    | sm | grep Date
Date: Mon, 08 Jun 2009 20:25:12 -0700
% convdate -dc 1244517912
Tue, 9 Jun 2009 03:25:12 -0000 (UTC)

این تاریخ با عددی که به عنوان تاریخ ارسال در تاریخچه ثبت شده است مطابقت دارد.

نوشته‌شده توسط Rich $alz <rsalz@uunet.uu.net> برای InterNetNews. بازنویسی در قالب POD توسط Russ Allbery <eagle@eyrie.org>.

history(5), inn.conf(5), sm(8).

2025-05-09 INN 2.7.4