FLUSH(8) System Manager's Manual FLUSH(8)

flush - کارساز پاک‌سازی سریع Postfix

flush [generic Postfix daemon options]


کارساز flush(8) پیشینه‌ای از نامه‌های به تعویق افتاده را بر پایه مقصد نگهداری می‌کند. این اطلاعات برای بهبود کارایی درخواست ETRN در SMTP و معادل خط فرمانی آن، "sendmail -qR" یا "postqueue -f" به کار می‌رود. این برنامه انتظار دارد از مدیر فرایند master(8) اجرا شود.

این پیشینه در قالب یک لاگ‌فایل به ازای هر مقصد پیاده‌سازی شده است که شناسه‌های صف نامه‌های به تعویق افتاده محتوای آن را تشکیل می‌دهند. یک لاگ‌فایل فقط‌افزودنی (append-only) است و زمانی که تحویل نامه برای مقصد مربوطه درخواست شود، کوتاه (truncate) می‌شود. یک مقصد، بخشی است که در سمت راست راست‌ترین نویسه @ در یک نشانی ایمیل قرار دارد.

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

این کارساز درخواست‌های زیر را پیاده‌سازی می‌کند:

به کارساز flush(8) اطلاع می‌دهد که پیامی با شناسه صف مشخص‌شده، برای مقصد معین در صف قرار گرفته است.
درخواست تحویل نامه‌هایی را می‌دهد که برای مقصد مشخص‌شده در صف قرار دارند.
درخواست تحویل پیام معوقه مشخص‌شده را می‌دهد.
لاگ‌فایل‌های غیرخالی به ازای هر مقصد را که در $fast_flush_refresh_time ساعت گذشته خوانده نشده‌اند، با شبیه‌سازی درخواست‌های ارسال (به بالا نگاه کنید) برای مقاصد مربوطه تازه‌سازی می‌کند.

لاگ‌فایل‌های خالی به ازای هر مقصد را که در $fast_flush_purge_time روز گذشته به‌روزرسانی نشده‌اند، حذف می‌کند.

این درخواست در پس‌زمینه تکمیل می‌شود.

عملیات refresh را برای تمام لاگ‌فایل‌های به ازای هر مقصد انجام می‌دهد.

کارساز flush(8) از نظر امنیتی حساس نیست. این کارساز نه با شبکه ارتباط برقرار می‌کند و نه با کاربران محلی. کارساز فلاش سریع می‌تواند به‌صورت chroot با سطح دسترسی پایین و ثابت اجرا شود.


مشکلات و تراکنش‌ها در syslogd(8) یا postlogd(8) ثبت می‌شوند.


لاگ‌فایل‌های فلاش سریع تنها پس از یک درخواست "send" کوتاه (truncate) می‌شوند، نه هنگامی که نامه واقعاً تحویل داده شد؛ از این رو ممکن است داده‌های منسوخ یا تکراری در آن‌ها انباشته شود. به منظور حفظ سلامت عملکرد، باید "refresh" به صورت دوره‌ای اجرا گردد. این کار می‌تواند با یک تنظیم مناسب برای تایمر بیدارباش در فایل پیکربندی master.cf خودکارسازی شود.

پس از دریافت درخواستی مبنی بر تحویل نامه برای یک مقصد واجد شرایط، کارساز flush(8) درخواست تحویل تمام پیام‌های فهرست‌شده در لاگ‌فایل آن مقصد را صادر می‌کند، فارغ از اینکه گیرندگان آن پیام‌ها چه کسانی باشند. این موضوع برای نامه‌هایی که به مقصد relay_domains ارسال می‌شوند مشکلی ایجاد نمی‌کند، زیرا چنین نامه‌هایی معمولاً تنها گیرندگانی در یک دامنه دارند.

تغییرات اعمال‌شده در main.cf به صورت خودکار اعمال می‌شوند زیرا فرایندهای flush(8) تنها برای مدت زمان محدودی اجرا می‌شوند. برای سرعت بخشیدن به اعمال تغییرات از دستور "postfix reload" استفاده کنید.

متن زیر تنها خلاصه‌ای از پارامترها را ارائه می‌دهد. برای جزئیات بیشتر شامل مثال‌ها به postconf(5) مراجعه فرمایید.

مکان پیش‌فرض فایل‌های پیکربندی main.cf و master.cf مربوط به Postfix.
حداکثر زمانی که یک فرایند دیمن Postfix مجاز است برای رسیدگی به یک درخواست صرف کند، پیش از آنکه توسط تایمر مراقب (watchdog) داخلی متوقف شود.
فهرست اختیاری از مقاصدی که واجد شرایط نگهداری لاگ‌فایل‌های به ازای هر مقصد برای نامه‌های صف‌بندی‌شده هستند.
مدت زمانی که پس از آن، یک لاگ‌فایل غیرخالی اما خوانده‌نشده "fast flush" به ازای هر مقصد باید تازه‌سازی شود.
مدت زمانی که پس از آن، یک لاگ‌فایل خالی "fast flush" به ازای هر مقصد پاک می‌شود.
محدودیت زمانی برای ارسال یا دریافت اطلاعات از طریق یک کانال ارتباطی داخلی.
حداکثر مدت زمانی که یک فرایند دیمن بیکار Postfix قبل از خاتمه داوطلبانه، منتظر اتصال ورودی می‌ماند.
حداکثر تعداد اتصالات ورودی که یک فرایند دیمن Postfix پیش از خاتمه داوطلبانه سرویس‌دهی می‌کند.
فهرستی از ویژگی‌های Postfix که در آن‌ها الگوی "example.com" با زیردامنه‌های example.com نیز مطابقت دارد، به جای اینکه به الگوی صریح ".example.com" نیاز داشته باشد.
شناسه فرایند (PID) یک دستور یا فرایند دیمن Postfix.
نام فرایند مربوط به یک دستور یا فرایند دیمن Postfix.
مکان دایرکتوری سطح بالای صف Postfix.
تسهیلات syslog برای لاگ‌گیری Postfix.
پیشوندی که به نام فرایند در رکوردهای syslog اضافه می‌شود، به عنوان مثال "smtpd" به "prefix/smtpd" تبدیل می‌شود.

موجود در Postfix نسخه 3.3 و بالاتر:

نام سرویس در master.cf برای یک فرایند دیمن Postfix.

/var/spool/postfix/flush, لاگ‌فایل‌های "fast flush".

smtpd(8), کارساز SMTP
qmgr(8), مدیر صف
postconf(5), پارامترهای پیکربندی
master(5), گزینه‌های عمومی دیمن
master(8), مدیر فرایند
postlogd(8), لاگ‌گیری Postfix
syslogd(8), لاگ‌گیری سیستم

برای یافتن این اطلاعات از دستور "postconf readme_directory" یا "postconf html_directory" استفاده کنید.

ETRN_README, راهنمای ETRN در Postfix

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


این سرویس با Postfix نسخه 1.0 معرفی شد.

Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA