HISTORY(5) InterNetNews Documentation HISTORY(5)

history - فایل پایگاه‌داده تاریخچه پیام‌های یوزنت در INN

پرونده pathdb/history سابقه تمام پیام‌هایی را که در حال حاضر در سامانه خبری ذخیره شده‌اند، و همچنین پیام‌هایی را که دریافت شده اما از آن زمان منقضی شده‌اند، نگهداری می‌کند. در یک محیط عملیاتی معمولی، اندازه این پرونده چندین مگابایت خواهد بود.

این پرونده از خطوط متنی تشکیل شده است. هر خط با یک پیام مطابقت دارد. این پرونده معمولاً به ترتیبی که پیام‌ها دریافت می‌شوند مرتب نگه‌داشته می‌شود، اگرچه این یک الزام نیست. دیمن innd هر بار که پیامی را ثبت می‌کند، یک خط جدید به انتهای پرونده می‌افزاید، و ابزار expire با حذف پیام‌های قدیمی و پاکسازی مدخل‌های گذشته، نسخه جدیدی از پرونده را می‌سازد.

هر خط از دو یا سه فیلد تشکیل شده است که با یک نویسه تب از هم جدا می‌شوند، که در زیر به صورت " \t " نشان داده شده است:

[hash] \t date
[hash] \t date \t @token@

فیلد hash نمایش اسکی (ASCII) هش فیلد Message-ID پیام است. این مقدار مستقیماً به عنوان کلید پایگاه‌داده dbz استفاده می‌شود.

فیلد date از سه زیرفیلد تشکیل شده است که با علامت مدک (~) از هم جدا می‌شوند. تمام زیرفیلدها نمایش متنی تعداد ثانیه‌های گذشته از مبدأ زمان (epoch) هستند، یعنی یک مقدار time_t مانند آنچه در "gettimeofday(2)" وجود دارد. اولین زیرفیلد، تاریخ دریافت پیام است. اگر نسخه‌هایی از پیام هنوز در سیستم موجود باشند، زیرفیلد دوم یا مقدار فیلد سرآیند Expires پیام است، یا اگر تاریخ انقضایی مشخص نشده باشد یک خط پیوند (-) خواهد بود. اگر پیام منقضی شده باشد، زیرفیلد دوم یک خط پیوند (-) خواهد بود. سومین زیرفیلد مقدار فیلد سرآیند Date پیام است که زمان ارسال آن را ثبت می‌کند.

فیلد token شناسه ذخیره‌سازی (توکن) پیام است. اگر پیام منقضی شده باشد، این فیلد خالی خواهد بود.

به عنوان مثال، پیامی با شناسه (Message-ID) به صورت <7q2saq$sal$1@isrv4.pa.vix.com> که در تاریخ 26 Aug 1999 08:02:34 GMT ارسال شده و در تاریخ 26 Aug 1999 08:06:54 GMT دریافت گردیده است، می‌تواند دارای یک خط تاریخچه (که در اینجا برای نمایش به سه خط شکسته شده است) مانند زیر باشد:

[E6184A5BC2898A35A3140B149DE91D5C] \t
    935678987~-~935678821 \t
    @030154574F00000000000007CE3B000004BA@

علاوه بر پرونده متنی، یک پایگاه‌داده dbz نیز وابسته به این پرونده است که از فیلد Message-ID به عنوان کلید برای تعیین موقعیت شروع خط مرتبط (آفست) در پرونده متنی استفاده می‌کند. به دلایل تاریخی، این کلید شامل بایت پایانی "\0" نیز می‌شود (که در پرونده متنی ذخیره نمی‌شود).

نوشته‌شده توسط Rich $alz <rsalz@uunet.uu.net> برای InterNetNews. بازنویسی‌شده به فرمت POD توسط Julien Elie.

expire(8), inn.conf(5), innd(8), libinn_dbz(3), makehistory(8).

2022-07-10 INN 2.7.4