QMAIL2DLF.IN(1) LogReport's Lire Documentation QMAIL2DLF.IN(1)

qmail2dlf - تبدیل لاگ‌های سرویس ایمیل qmail به فرمت لاگ استاندارد Lire DLF

qmail2dlf

دستور qmail2dlf لاگ‌های qmail-send را از ورودی استاندارد (stdin) می‌خواند، فرمت dlf را در خروجی استاندارد (stdout) می‌نویسد و در صورت بروز خطا، پیام‌های مربوطه را در خطای استاندارد (stderr) ارسال می‌کند.

در فایل لاگ، انتظار برچسب‌های زمانی شبیه به `977359048.466280500' می‌رود: تعداد ثانیه‌های سپری‌شده از مبدا زمان (epoch) با هر دقتی. فایل لاگ باید شامل خطوطی با ساختاری شبیه به نمونه زیر باشد:

982584201.511524 info msg 6426: bytes 3537 from
  <qmail-return-63074-joostvb=mdcc.cx@list.cr.yp.to> qp 21089 uid 70

ابزار splogger که همراه با qmail توزیع می‌شود، یک «برچسب زمانی عددی» مانند 972802273.627578 می‌نویسد که بیانگر ثانیه‌ها و نانوثانیه‌ها از ابتدای سال ۱۹۷۰ است.

ابزار multilog که همراه با daemontools (http://cr.yp.to/daemontools.html) توزیع می‌شود، در صورت فراخوانی با عمل t، یک نویسه `@' و یک برچسب زمانی با فرمت tai64n می‌نویسد. این برچسب‌های زمانی شبیه به 4000000039ef8532346bb35c هستند. توجه داشته باشید که 0x400000000000000000000000 برابر با 2^62 است.

می‌توان زمان جاری را در فرمت tai64 با اجرای دستور زیر دریافت کرد:

echo 40000000`(echo obase = 16; date +%s) | bc`00000000

(با فرض نصب بودن GNU date)

برای تبدیل tai64n به برچسب‌های زمانی عددی، می‌توان از ابزار tai64nfraq نوشته Russ Allbery استفاده کرد. این ابزار در مالکیت عمومی (Public Domain) قرار دارد و از نشانی http://www.qmail.org/tai64nfrac در دسترس است.

برای پردازش لاگ تولیدشده توسط splogger:

$ lr_desyslog qmail < mail.log | qmail2dlf

برای پردازش لاگ تولیدشده توسط multilog:

$ tai64nfrac < current | qmail2dlf

دستور qmail2dlf(1) به‌ندرت به‌تنهایی استفاده می‌شود و معمولاً توسط lr_log2report فراخوانی می‌گردد:

$ tai64nfrac < /service/qmail-send/log/main/current | \
    lr_log2report qmail

این برنامه پیام‌های برگشتی (bounce) را مدیریت نمی‌کند:

email qmail none qmail2dlf info skipping line '986244190.800217 bounce msg
 6306 qp 28445': first field should be one of 'new', 'info', 'starting',
 'delivery', 'end' or 'status:', not 'bounce'

برنامه qmail2dlf از اطلاعات موجود در لاگ‌های qmail-smtpd(1) استفاده نمی‌کند. (این لاگ‌ها ساختاری شبیه به نمونه زیر دارند:

2002-06-16 09:34:57.798038500 tcpserver: pid 19385 from 100.61.24.7
2002-06-16 09:34:58.114198500 tcpserver: ok 19385 foo.example.com:100.163.25.11:25 logreport.iae.nl:212.61.24.7:postfix:1189

.)

$Id: qmail2dlf.in,v 1.24 2006/07/23 13:16:34 vanbaal Exp $

حق نشر © 2000, 2001 متعلق به بنیاد Stichting LogReport است LogReport@LogReport.org

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) منتشرشده توسط بنیاد نرم‌افزارهای آزاد، ویرایش ۲ یا (به انتخاب خودتان) هر ویرایش بالاتر بازتوزیع کرده یا تغییر دهید.

این برنامه به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.

شما باید به همراه این برنامه یک نسخه از مجوز عمومی همگانی گنو را دریافت کرده باشید (فایل COPYING را ببینید)؛ در غیر این صورت به نشانی http://www.gnu.org/copyleft/gpl.html مراجعه نمایید.

Joost van Baal <joostvb@logreport.org>

2025-09-28 Lire 2.1.1