QSHAPE(1) General Commands Manual QSHAPE(1)

qshape - چاپ توزیع سنی و دامنه‌ای صف Postfix

qshape [-s] [-p] [-m min_subdomains]
[-b bucket_count] [-t bucket_time]
[-l] [-w terminal_width]
[-N batch_msg_count] [-n batch_top_domains]
[-c config_directory] [queue_name ...]


برنامهٔ qshape به مدیر سیستم کمک می‌کند تا توزیع زمانی پیام‌های صف Postfix را بر اساس دامنهٔ فرستنده یا گیرنده بررسی کند. این برنامه نیازمند دسترسی خواندن به دایرکتوری‌ها و فایل‌های صف است، بنابراین باید توسط کاربر ریشه (superuser) یا کاربری که در مشخصهٔ mail_owner در main.cf تعیین شده (معمولاً postfix) اجرا شود.

گزینه‌ها:

نمایش توزیع بر اساس دامنهٔ فرستنده به‌جای دامنهٔ گیرنده. به‌طور پیش‌فرض، توزیع گیرندگان نمایش داده می‌شود. از آنجا که یک پیام می‌تواند چندین گیرنده داشته باشد اما فقط یک فرستنده دارد، توزیع فرستنده نمایانگر توزیع واقعی پیام‌هاست.
تولید آمار تجمیعی برای دامنه‌های والد. دامنه‌های سطح‌بالا (TLD) و همچنین دامنه‌هایی با کمتر از min_subdomains زیردامنه نمایش داده نمی‌شوند. نام دامنه‌های والد با یک نقطه در ابتدا نشان داده می‌شوند (مانند .example.com).
هنگام استفاده همراه با گزینهٔ -p، حداقل تعداد زیردامنه‌های لازم برای نمایش یک خط جداگانه برای دامنهٔ والد را تعیین می‌کند. مقدار پیش‌فرض ۵ است.
توزیع سنی پیام‌ها به دنباله‌ای از بازه‌های زمانی با رشد هندسی تقسیم می‌شود. این گزینه تعداد بازه‌ها یا «bucket»ها را تعیین می‌کند. حداکثر سن صف در هر بازه دو برابر بازهٔ قبلی است. آخرین بازه محدودیت سنی ندارد.
محدودیت سنی بر حسب دقیقه برای اولین بازهٔ زمانی. مقدار پیش‌فرض ۵ است؛ بدین معنا که بازهٔ اول، پیام‌های با سن بین ۰ تا ۵ دقیقه را شمارش می‌کند.
استفاده از دنبالهٔ زمانی خطی به‌جای دنبالهٔ هندسی؛ به عبارت دیگر مضارب ساده‌ای از bucket_time.

این قابلیت در Postfix نسخهٔ 2.2 و بالاتر در دسترس است.

خروجی راست‌چین می‌شود و شمارنده‌های آخرین بازه در ستون ۸۰ نمایش می‌یابند. مقدار terminal_width را می‌توان برای نمایشگرهای عریض‌تر تنظیم کرد تا بازه‌های بیشتری بدون بریده شدن نام دامنه‌ها در سمت چپ نشان داده شوند. هنگامی که یک ردیف برای نام کامل دامنه و شمارنده‌های آن در تعداد ستون‌های مشخص‌شده جا نشود، تنها ۱۷ بایت پایانی نام دامنه با جایگزینی پیشوند آن با نویسهٔ «+» نمایش داده می‌شود. ردیف‌های بریده‌شدهٔ دامنهٔ والد به‌صورت «.+» به همراه ۱۶ بایت پایانی نام دامنه نشان داده می‌شوند. اگر فضا باز هم برای نمایش نام دامنه و تمام شمارنده‌ها بسیار کم باشد، از محدودیت terminal_width فراتر رفته خواهد شد.
هنگامی که دستگاه خروجی ترمینال باشد، نتایج میانی پس از پردازش هر «batch_msg_count» پیام به نمایش درمی‌آیند. این ویژگی باعث می‌شود حتی در صورت بزرگ بودن صف deferred، نتایج در زمانی معقول و قابل استفاده ارائه شوند. حالت پیش‌فرض، نمایش نتایج میانی به ازای هر ۱۰۰۰ پیام است.
هنگام گزارش نتایج میانی یا نهایی در یک ترمینال، تنها برترین دامنه‌ها را به تعداد «batch_top_domains» گزارش می‌کند. حد پیش‌فرض ۲۰ دامنه است.
فایل پیکربندی main.cf به‌جای دایرکتوری پیش‌فرض، در دایرکتوری مشخص‌شده قرار دارد.

آرگومان‌ها:

به‌طور پیش‌فرض، qshape توزیع ترکیبی صف‌های incoming و active را نمایش می‌دهد. برای نمایش مجموعه‌ای متفاوت از صف‌ها، کافی است نام دایرکتوری‌های آن‌ها را در خط فرمان درج کنید. مسیرهای مطلق همان‌طور که هستند استفاده می‌شوند، و سایر مسیرها نسبت به مقدار پارامتر queue_directory در main.cf در نظر گرفته می‌شوند. اگرچه main.cf از گسترش متغیرها ($variable expansion) در تعریف پارامتر queue_directory پشتیبانی می‌کند، برنامهٔ qshape این قابلیت را ندارد. اگر ناچار به استفاده از متغیرها در تنظیمات queue_directory هستید، باید برای هر زیردایرکتوری صف یک مسیر مطلق و صریح تعیین کنید، حتی اگر توزیع پیش‌فرض صف‌های incoming و active را بخواهید.

mailq(1), فهرست کردن تمامی پیام‌های موجود در صف.
QSHAPE_README مثال‌ها و توضیحات تکمیلی.

$config_directory/main.cf, پارامترهای پیکربندی Postfix.
$queue_directory/maildrop/, دایرکتوری ارسال محلی پیام.
$queue_directory/incoming/, صف پیام‌های جدید.
$queue_directory/hold/, پیام‌های معلق در انتظار بررسی پشتیبانی فنی.
$queue_directory/active/, پیام‌های زمان‌بندی‌شده برای تحویل.
$queue_directory/deferred/, پیام‌های موکول‌شده به تحویل در زمان بعد.

مجوز Secure Mailer باید همراه با این نرم‌افزار توزیع شود.

Victor Duchovni
Morgan Stanley