.TH "DOVEADM-SYNC" "1" "May 2026" "e5ac02a" "Dovecot" .SH "نام (NAME)" \fBdoveadm-sync\fR \- قابلیت همگام‌سازی دوطرفهٔ صندوق‌های پستی Dovecot .SH "خلاصه دستور (SYNOPSIS)" .P \fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] \fBsync\fR \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fB-1fPR\fR\[rB] \[lB]\fB-l\fR \fIsecs\fR\[rB] \[lB]\fB-r\fR \fIrawlog path\fR\[rB] \[lB]\fB-m\fR \fImailbox\fR\[rB] \[lB]\fB-g\fR \fImailbox guid\fR\[rB] \[lB]\fB-n\fR \fInamespace\fR | \fB-N\fR\[rB] \[lB]\fB-x\fR \fIexclude\fR\[rB] \[lB]\fB-a\fR \fIall mailbox\fR\[rB] \[lB]\fB-s\fR \fIstate\fR\[rB] \[lB]\fB-T\fR \fIsecs\fR\[rB] \[lB]\fB-t\fR \fIstart date\fR\[rB] \[lB]\fB-e\fR \fIend date\fR\[rB] \[lB]\fB-O\fR \fIsync flag\fR\[rB] \[lB]\fB-I\fR \fImax size\fR\[rB] \[lB]\fB-p\fR \fIsetting=value\fR\[rB] \fIdestination\fR .P \fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] \fBbackup\fR \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fB-fPR\fR\[rB] \[lB]\fB-l\fR \fIsecs\fR\[rB] \[lB]\fB-r\fR \fIrawlog path\fR\[rB] \[lB]\fB-m\fR \fImailbox\fR\[rB] \[lB]\fB-g\fR \fImailbox guid\fR\[rB] \[lB]\fB-n\fR \fInamespace\fR | \fB-N\fR\[rB] \[lB]\fB-x\fR \fIexclude\fR\[rB] \[lB]\fB-a\fR \fIall mailbox\fR\[rB] \[lB]\fB-s\fR \fIstate\fR\[rB] \[lB]\fB-T\fR \fIsecs\fR\[rB] \[lB]\fB-t\fR \fIstart date\fR\[rB] \[lB]\fB-e\fR \fIend date\fR\[rB] \[lB]\fB-O\fR \fIsync flag\fR\[rB] \[lB]\fB-I\fR \fImax size\fR\[rB] \[lB]\fB-p\fR \fIsetting=value\fR\[rB] \fIdestination\fR .SH "توضیحات (DESCRIPTION)" .P ابزار dsync (کوتاه‌شدهٔ doveadm sync) قابلیت همگام‌سازی صندوق‌های پستی Dovecot است. این ابزار می‌تواند در چندین سناریوی مختلف استفاده شود: همگام‌سازی دوطرفهٔ صندوق‌های پستی، ایجاد نسخهٔ پشتیبان از نامه‌ها، و تبدیل صندوق‌های پستی از/به قالب‌های مختلف صندوق پستی. تمام این موارد می‌توانند در یک سرور یکسان یا میان سرورهای مختلف (از طریق اتصالات ssh(1) یا tcp) استفاده شوند. صندوق‌های پستی راه دور همچنین می‌توانند از طریق پروتکل IMAP در دسترس باشند، که استفاده از dsync را برای اهداف مهاجرت صندوق پستی امکان‌پذیر می‌سازد. .P می‌توانید dsync را در یکی از سه حالت اجرا کنید: .RS 0 .IP \(bu 4 دستور \fBdoveadm backup\fR همگام‌سازی یک‌طرفه انجام می‌دهد. اگر تغییری در مقصد وجود داشته باشد، بازگردانی خواهد شد تا مقصد دقیقاً شبیه مبدأ به نظر برسد. .IP \(bu 4 دستور \fBdoveadm sync\fR همگام‌سازی دوطرفه انجام می‌دهد. این دستور تمام تغییرات را بدون از دست دادن هیچ داده‌ای ادغام می‌کند. پس از پایان همگام‌سازی، هر دو صندوق پستی نهایتاً کاملاً یکسان خواهند بود. .IP \(bu 4 دستور \fBdoveadm sync -1\fR همگام‌سازی یک‌طرفه انجام می‌دهد. اگر تغییری در مقصد وجود داشته باشد، حفظ خواهد شد و تغییرات جدید روی آن ادغام می‌شوند. این ادغام در حال حاضر بی‌نقص عمل نمی‌کند، بنابراین استفاده از آن باید محدود باشد. هدف اصلی آن این است که در طول مهاجرت صندوق پستی می‌توانید \fBdoveadm backup\fR را چندین بار اجرا کنید، سپس تحویل نامه‌ها را به صندوق پستی جدید تغییر دهید و \fBdoveadm sync -1\fR را یک بار دیگر اجرا نمایید تا آخرین نامه‌های جدید از صندوق پستی قدیمی منتقل شوند. .RS 4 .IP \(bu 4 الگوریتم یک‌طرفه همان الگوریتم دوعرفه‌ای dsync است، با این تفاوت که حساب کاربری مبدأ تغییر داده نمی‌شود. این الگوریتم GUID (شناسه منحصربه‌فرد سراسری) پیام را واکشی می‌کند که برای شناسایی هرگونه تعارض UID در پیام‌ها به کار می‌رود. تا زمانی که نگاشت UID<->GUID در سمت مبدأ و مقصد همخوانی داشته باشد، فرض می‌شود آن ایمیل‌ها به‌درستی همگام شده‌اند. تنها پس از اولین عدم تطابق، اعمال تغییرات آغاز خواهد شد. .P مثال: صندوق پستی مبدأ دارای پیام‌هایی با UID 1..5 است؛ صندوق پستی مبدأ با استفاده از \fBdoveadm backup\fR با مقصد همگام می‌شود. متعاقباً، UID 6 به صندوق پستی مبدأ تحویل داده شده و UID 1 از صندوق پستی مقصد پاکسازی (expunge) می‌شود. در این مثال، UID 1 در مقصد حذف‌شده باقی می‌ماند زیرا UID 1..5 دارای سرایندهای Date+Message-ID یکسانی هستند. UID 6 در مقصد وجود ندارد، بنابراین کپی می‌شود. .P اگر هر دو مبدأ و مقصد دارای UID 6 باشند، اما پیام‌ها متفاوت باشند، سرایندها مطابقت نخواهند داشت و هر دو پیام در مقصد نگه داشته می‌شوند، اما به آن‌ها UIDهای جدید 7 و 8 اختصاص می‌یابد تا اطمینان حاصل شود که هیچ کلاینتی در مورد اینکه UID 6 واقعاً چه پیامی بوده سردرگم نشود. بدین ترتیب، همگام‌سازی یک‌طرفه به محض رخ دادن تغییرات در هر یک از طرفین، به‌سرعت از صندوق پستی مبدأ فاصله می‌گیرد؛ بنابراین همگام‌سازی یک‌طرفه معمولاً فقط باید در بازهٔ زمانی کوتاهی پس از اجرای دستور \fBdoveadm backup\fR یا \fBdoveadm sync\fR استفاده شود. .RE 0 .RE 0 .P همچنین سه الگوریتم همگام‌سازی مختلف وجود دارد: .RS 0 .IP \(bu 4 همگام‌سازی کامل (پارامتر -f) تمام پیام‌ها را در تمام صندوق‌های پستی بررسی و پویش می‌کند. این روش تضمین می‌کند که همه‌چیز همگام خواهد شد، اما برای همگام‌سازی افزایشی (incremental) بیش از حد کند است. .IP \(bu 4 همگام‌سازی سریع (پیش‌فرض) ابتدا تلاش می‌کند صندوق‌های پستی تغییریافته را پیدا کرده و فقط آن‌ها را همگام کند. این کار با بررسی فراداده‌های صندوق‌های پستی (NEXTUID و HIGHESTMODSEQ) انجام می‌شود. معمولاً این روش خوب عمل می‌کند، به‌ویژه با همگام‌سازی یک‌طرفه، اما اگر هر دو طرف دقیقاً تعداد تغییرات یکسانی داشته باشند، فراداده‌ها ممکن است حتی با وجود متفاوت بودن تغییرات، حاوی مقادیر یکسانی شوند. .IP \(bu 4 همگام‌سازی مبتنی بر وضعیت (پارامتر -s) کارآمدترین روش برای همگام‌سازی صندوق‌های پستی است. این روش به ذخیره بودن وضعیت اجرای قبلی dsync در جایی و ارسال آن به اجرای بعدی dsync متکی است. بر اساس این وضعیت، dsync می‌تواند تنها تغییراتی را ارسال کند که پس از اجرای قبلی dsync رخ داده‌اند. تا زمانی که وضعیت یا صندوق‌های پستی خراب نشده باشند، این الگوریتم باید بی‌نقص کار کند. .RE 0 .P همگام‌سازی تا جای ممکن بی‌نقص انجام می‌شود: یک کلاینت IMAP یا POP3 نباید بتواند هیچ تفاوتی را بین دو صندوق پستی متوجه شود. همگام‌سازی دوطرفه به این معناست که انجام هر نوع تغییری در هر دو طرف ایمن است و dsync تغییرات را بدون از دست رفتن هیچ تغییری در هر یک از طرفین ادغام خواهد کرد. این ویژگی به این دلیل ممکن است که dsync می‌تواند به لاگ‌های نمایهٔ Dovecot که تغییرات را ثبت می‌کنند دسترسی داشته باشد. البته امکان وجود تعارض در هنگام ادغام هست؛ این تعارض‌ها به روشی ایمن حل‌وفصل می‌شوند. برای اطلاعات بیشتر سند \fIdsync design\fR را ببینید. .P ابزار dsync از همان فایل‌های پیکربندی سایر بخش‌های Dovecot استفاده می‌کند (از طریق doveconf(1)). کل پیکربندی را می‌توان با دادن پارامتر -c به یک فایل پیکربندی دیگر تغییر داد، یا با استفاده از پارامتر -o تنظیمات خاصی را بازنویسی کرد. هنگام اجرای برنامهٔ راه دور dsync نیز سازوکار یکسان است: این برنامه از پیکربندی محلی خودش استفاده می‌کند. .P ابزار dsync می‌تواند کاملاً مستقل اجرا شود. این ابزار به در حال اجرا بودن هیچ‌یک از پردازه‌های سرور Dovecot نیازی ندارد، مگر هنگام استفاده از پارامتر -u برای جستجوی \fIuserdb\fR از پردازهٔ auth. .P ابزار dsync می‌تواند با استفاده از پارامترهای -u یا -A یک یا چند کاربر را همگام‌سازی کند. .SH "گزینه‌های سراسری (GLOBAL OPTIONS)" .P \fIگزینه‌های\fR سراسری doveadm(1): .P \fB-D\fR .RS 0 .RS 4 .P حالت پرگویی (\fIverbosity\fR) و پیام‌های اشکال‌زدایی را فعال می‌کند. .RE 0 .RE 0 .P \fB-O\fR .RS 0 .RS 4 .P هیچ فایل پیکربندی‌ای را نمی‌خواند، صرفاً از پیش‌فرض‌ها استفاده می‌کند. مقدار تنظیم \fBdovecot_storage_version\fR به‌طور پیش‌فرض روی جدیدترین نسخه قرار دارد، اما می‌توان آن را با \fB-o\fR بازنویسی کرد. .RE 0 .RE 0 .P \fB-k\fR .RS 0 .RS 4 .P تمام متغیرهای محیطی را برای doveadm حفظ می‌کند، نه فقط مقدار تنظیم \fBimport_environment\fR را. .RE 0 .RE 0 .P \fB-v\fR .RS 0 .RS 4 .P حالت پرگویی را فعال می‌کند، از جمله شمارندهٔ پیشرفت را. .RE 0 .RE 0 .P \fB-i\fR \fIinstance-name\fR .RS 0 .RS 4 .P در صورت استفاده از نمونه‌های متعدد Dovecot، فایل پیکربندی را بر اساس این نام نمونه انتخاب می‌کند. .P برای اطلاعات بیشتر تنظیم \fBinstance_name\fR را ببینید. .RE 0 .RE 0 .P \fB-c\fR \fIconfig-file\fR .RS 0 .RS 4 .P پیکربندی را از \fIconfig-file\fR داده‌شده می‌خواند. به‌طور پیش‌فرض ابتدا سوکت پیکربندی را می‌خواند و سپس در صورت عدم دسترسی به \fI/etc/dovecot/dovecot.conf\fR بازمی‌گردد. همچنین می‌توانید این گزینه را به سوکت پیکربندی نمونه‌ای که یک نسخهٔ سازگار را اجرا می‌کند ارجاع دهید. .RE 0 .RE 0 .P \fB-o\fR \fIsetting\fR\fB=\fR\fIvalue\fR .RS 0 .RS 4 .P تنظیم پیکربندی \fIsetting\fR را از \fI/etc/dovecot/dovecot.conf\fR و از userdb با \fIvalue\fR داده‌شده بازنویسی می‌کند. جهت بازنویسی چندین تنظیم، گزینهٔ \fB-o\fR می‌تواند چندین بار مشخص شود. .RE 0 .RE 0.SH "گزینه‌ها (OPTIONS)" .P \fB-A\fR .RS 0 .RS 4 .P اگر گزینهٔ \fB-A\fR وجود داشته باشد، \fIcommand\fR برای همهٔ کاربران انجام خواهد شد. استفاده از این گزینه همراه با کاربران سیستمی برگرفته از \fBuserdb { driver = passwd }\fR توصیه نمی‌شود، زیرا شامل کاربرانی با UID کمتر از مقدار پیکربندی‌شده در تنظیم \fBfirst_valid_uid\fR نیز می‌شود. .P هنگامی که ماژول SQL userdb استفاده می‌شود، اطمینان حاصل کنید که تنظیم \fBuserdb_sql_iterate_query\fR با ساختار پایگاه‌دادهٔ شما مطابقت داشته باشد. .P هنگام استفاده از ماژول LDAP userdb، اطمینان حاصل کنید که تنظیم \fBuserdb_fields\fR و تنظیمات \fBuserdb_ldap_iterate_fields\fR با طرحوارهٔ (schema) مربوط به LDAP شما همخوانی داشته باشند. در غیر این صورت doveadm(1) قادر نخواهد بود روی تمام کاربران پیمایش انجام دهد. .RE 0 .RE 0 .P \fB-F\fR \fIfile\fR .RS 0 .RS 4 .P اجرای \fIcommand\fR برای تمام کاربران موجود در \fIfile\fR. این گزینه مشابه گزینهٔ \fB-A\fR است، اما به‌جای دریافت فهرست کاربران از userdb، آنها از \fIfile\fR داده‌شده خوانده می‌شوند. \fIfile\fR در هر سطر شامل یک نام کاربری است. .RE 0 .RE 0 .P \fB-1\fR .RS 0 .RS 4 .P انجام همگام‌سازی یک‌طرفه به‌جای همگام‌سازی دوطرفه. .RE 0 .RE 0 .P \fB-f\fR .RS 0 .RS 4 .P انجام همگام‌سازی کامل. .RE 0 .RE 0 .P \fB-N\fR .RS 0 .RS 4 .P همگام‌سازی تمام فضاهای نام (namespaces) موجود. به‌طور پیش‌فرض تنها فضای نام inbox=yes همگام‌سازی می‌شود. .RE 0 .RE 0 .P \fB--no-userdb-lookup\fR .RS 0 .RS 4 .P عدم انجام جستجو در userdb. از متغیر محیطی \fBUSER\fR برای تعیین نام کاربری استفاده کنید. .RE 0 .RE 0 .P \fB-P\fR .RS 0 .RS 4 .P اجرای doveadm-purge(1) برای فضای ذخیره‌سازی مقصد (از راه دور) پس از همگام‌سازی. .RE 0 .RE 0 .P \fB-R\fR .RS 0 .RS 4 .P انجام یک همگام‌سازی معکوس. در حالت عادی، پیام‌ها از سیستم محلی به مقصد (از راه دور) فرستاده (push) می‌شوند. این گزینه جریان کار را معکوس می‌کند و در عوض پیام‌ها را از فضای ذخیره‌سازی از راه دور به فضای محلی دریافت (pull) خواهد کرد. .RE 0 .RE 0 .P \fB-S\fR \fIsocket_path\fR .RS 0 .RS 4 .P آرگومان این گزینه یا یک مسیر مطلق به یک UNIX domain socket محلی است، یا یک نام میزبان و درگاه (\fIhostname\fR:\fIport\fR)، به‌منظور اتصال به یک میزبان از راه دور از طریق یک سوکت TCP. .P این گزینه به مدیر سیستم اجازه می‌دهد دستورهای پستی doveadm(1) را از طریق سوکت داده‌شده اجرا کند. .RE 0 .RE 0 .P \fB-T\fR \fIsecs\fR .RS 0 .RS 4 .P تعیین مدت زمان به ثانیه که doveadm(1) باید در انتظار عملیات‌های ورودی/خروجی (I/O) متوقف‌شده بماند. مهلت زمانی پیش‌فرض ۶۰۰ ثانیه است. .RE 0 .RE 0 .P \fB-p\fR \fIsetting\fR\fB=\fR\fIvalue\fR .RS 0 .RS 4 .P تنظیم پیکربندیِ \fIsetting\fR را برای فضای ذخیره‌سازی مبدأ بازنویسی (override) می‌کند. .RE 0 .RE 0 .P \fB-g\fR \fImailbox_guid\fR .RS 0 .RS 4 .P مشابه -m، اما صندوق پستیِ مورد نظر برای همگام‌سازی را به‌جای نام، با GUID آن پیدا می‌کند. .RE 0 .RE 0 .P \fB-l\fR \fIsecs\fR .RS 0 .RS 4 .P قفل کردن dsync برای این کاربر. حداکثر به مدت \fIsecs\fR ثانیه پیش از انصراف منتظر می‌ماند. اگر احتمال اجرای هم‌زمان dsync برای یک کاربر وجود داشته باشد، این پارامتر باید برای جلوگیری از خرابی همگام‌سازی استفاده شود. .RE 0 .RE 0 .P \fB-m\fR \fImailbox\fR .RS 0 .RS 4 .P فقط همگام‌سازی این نام صندوق پستی. .RE 0 .RE 0 .P \fB-n\fR \fInamespace\fR .RS 0 .RS 4 .P تنها فضای نامِ مشخص‌شده را همگام‌سازی کن. این پارامتر می‌تواند چندین بار استفاده شود. .RE 0 .RE 0 .P \fB-a\fR \fIall mailbox\fR .RS 0 .RS 4 .P نام صندوق پستی مجازی «All mails». در صورت تعیین، تلاش می‌شود به‌جای ذخیرهٔ جداگانه، ایمیل‌ها از این صندوق پستی کپی شوند. این کار ممکن است مصرف کل فضای دیسک و همچنین ورودی/خروجی دیسک (disk IO) را کاهش دهد. .RE 0 .RE 0 .P \fB-t\fR \fIstart date\fR .RS 0 .RS 4 .P نادیده گرفتن تمام ایمیل‌هایی که مهرزمانی دریافت (received-timestamp) آنها قدیمی‌تر از زمان مشخص‌شده است. .RE 0 .RE 0 .P \fB-e\fR \fIend date\fR .RS 0 .RS 4.P نادیده گرفتن تمام نامه‌هایی که مهر زمانی دریافت (received-timestamp) آن‌ها تازه‌تر از زمان مشخص‌شده است. .RE 0 .RE 0 .P \fB-O\fR \fIsync flag\fR .RS 0 .RS 4 .P تنها نامه‌هایی را همگام‌سازی می‌کند که پرچم مشخص‌شده را دارند. اگر نام پرچم با «\fB-\fR» آغاز شود، تمام نامه‌ها به‌جز موارد دارای پرچم مشخص‌شده همگام می‌شوند. .RE 0 .RE 0 .P \fB-I\fR \fImax size\fR .RS 0 .RS 4 .P نادیده گرفتن تمام نامه‌های بزرگ‌تر از اندازه مشخص‌شده. .RE 0 .RE 0 .P \fB-r\fR \fIrawlog_path\fR .RS 0 .RS 4 .P هنگام اجرای dsync از راه دور، ترافیک ورودی/خروجی راه دور را در فایل لاگ مشخص‌شده می‌نویسد. .RE 0 .RE 0 .P \fB-s\fR \fIprevious_state\fR .RS 0 .RS 4 .P استفاده از همگام‌سازی وابسته به وضعیت (stateful). این ویژگی با ارائه یک «رشته وضعیت همگام‌سازی» از اجرای قبلی dsync، امکان همگام‌سازی افزایشی بهینه‌شده را فراهم می‌کند. dsync از این وضعیت برای همگام‌سازی انحصاری تغییراتی که پس از ثبت آن وضعیت رخ داده‌اند استفاده خواهد کرد و بدین ترتیب از پویش کامل صندوق پستی (mailbox) جلوگیری می‌شود. اگر وضعیت قبلی نامشخص است، از یک رشته خالی استفاده کنید. در صورت تعیین این پارامتر، وضعیت جدید همیشه در خروجی استاندارد چاپ می‌شود. .RE 0 .RE 0 .P \fB-u\fR \fIuser/mask\fR .RS 0 .RS 4 .P اجرای \fIcommand\fR تنها برای \fIuser\fR داده‌شده. همچنین امکان استفاده از نویسه‌های عمومی (wildcard) «\fB*\fR» و «\fB?\fR» وجود دارد (مانند \-u *@example.org). .RE 0 .RE 0 .P \fB-x\fR \fImailbox_mask\fR .RS 0 .RS 4 .P مستثنی کردن نام یا ماسک صندوق پستی مشخص‌شده. ماسک می‌تواند شامل نویسه‌های عمومی «\fB?\fR» و «*****» باشد. ماسک همچنین می‌تواند یک نام با کاربرد خاص باشد (مانند \[rs]Trash). این پارامتر می‌تواند چندین بار استفاده شود. .RE 0 .RE 0 .SH "آرگومان‌ها (ARGUMENTS)" .P \fIdestination\fR .RS 0 .RS 4 .P این آرگومان مقصد همگام‌سازی را مشخص می‌کند. .P می‌تواند یکی از موارد زیر باشد: .RS 4 .P \fImail_driver:mail_path\fR : از فضای ذخیره‌سازی مشخص‌شده توسط \fImail_driver\fR و \fImail_path\fR استفاده می‌کند. برای تعیین تنظیمات بیشتر از پارامتر \fB-p\fR استفاده کنید. .RE 0 .RS 4 .P \fBremote:\fR \fIlogin@host\fR : از تنظیم \fIdsync_remote_cmd\fR برای اتصال به میزبان راه دور (معمولاً از طریق ssh) استفاده می‌کند. .RE 0 .RS 4 .P \fIremoteprefix:login@host\fR : همانند remote است، جز اینکه پیش از شروع پروتکل dsync عبارت «user@domain\[rs]n» ارسال می‌شود. این امر امکان پیاده‌سازی یک اسکریپت پوششی (wrapper script) معتمد را می‌دهد که doveadm dsync-server را با خواندن نام کاربری از سطر اول اجرا کند. .RE 0 .RS 4 .P \fBtcp:\fR \fIhost\[lB]:port\[rB]\fR : از طریق TCP به سرور راه دور doveadm متصل می‌شود. درگاه پیش‌فرض توسط تنظیم \fIdoveadm_port\fR مشخص می‌شود. .RE 0 .RS 4 .P \fBtcps:\fR \fIhost\[lB]:port\[rB]\fR : همانند tcp است، اما با SSL. .RE 0 .RS 4 .P \fBcommand \[lB]arg1 \[lB], arg2, ...\[rB]\[rB]\fR : دستوری محلی را اجرا می‌کند که ورودی و خروجی استاندارد خود را به یک سرور dsync متصل می‌نماید. .RE 0 .RE 0 .RE 0.SH "وضعیت خروج (EXIT STATUS)" .P دستور \fBdsync\fR با یکی از مقادیر زیر خارج خواهد شد: .P \fB0\fR .RS 0 .RS 4 .P همگام‌سازی بدون نقص انجام شد. .RE 0 .RE 0 .P \fB2\fR .RS 0 .RS 4 .P همگام‌سازی بدون خطا انجام شد، اما برخی از تغییرات اعمال نشدند، بنابراین صندوق‌های پستی کاملاً همگام‌سازی نشده‌اند. اجرای دوباره dsync معمولاً این مشکل را برطرف می‌کند. این حالت معمولاً برای توالی‌های تغییر پیام در صندوق‌های پستی تازه ایجادشده رخ می‌دهد. همچنین اگر یکی از صندوق‌های پستی در حین همگام‌سازی تغییر کند نیز ممکن است رخ دهد. .RE 0 .RE 0 .P \fB1, >2\fR .RS 0 .RS 4 .P همگام‌سازی ناموفق بود. .RE 0 .RE 0 .P همچنین برای سایر کدهای خطای احتمالی، doveadm(1) را ببینید. .SH "مثال‌ها (EXAMPLES)" .SS "همگام‌سازی (SYNCHRONIZATION)" .P همگام‌سازی صندوق‌های پستی با یک کارساز دوردست. هرگونه خطا در stderr نوشته می‌شود: .P .RS 2 .nf doveadm sync -u username@example.com remote:server-replica.example.com .fi .RE .P اگر برای ssh به پارامترهای پیچیده‌تری نیاز دارید، می‌توانید به عنوان مثال از این دستور استفاده کنید: .P .RS 2 .nf doveadm sync -u username@example.com ssh -i id_dsa.dovecot \[rs] mailuser@example.com doveadm dsync-server -u username@example.com .fi .RE .SS "تبدیل (CONVERTING)" .P مثالی برای تبدیل ایمیل‌ها از قالب Maildir به قالب مشخص‌شده در فایل پیکربندی: .P .RS 2 .nf doveadm backup -u user maildir:~/Maildir .fi .RE .P اگر می‌خواهید این کار را بدون هیچ‌گونه زمان از‌کارافتادگی (downtime) انجام دهید، می‌توانید تبدیل را کاربر به کاربر انجام دهید. در ابتدا: .RS 0 .IP \(bu 4 پیکربندی از \fBmail_driver = maildir\fR و \fBmail_path = ~/Maildir\fR استفاده می‌کند .IP \(bu 4 امکان تعیین مکان ایمیل به ازای هر کاربر را با استفاده از فیلدهای اضافی \fIuserdb\fR راه‌اندازی کنید. .RE 0 .P سپس برای هر کاربر: .RS 0 .IP 1. 4 دستور \fIdoveadm sync\fR را یک بار برای انجام تبدیل اولیه اجرا کنید. .IP 2. 4 دستور \fIdoveadm sync\fR را دوباره اجرا کنید، زیرا تبدیل اولیه ممکن است مدتی طول کشیده باشد و در طول آن تغییرات جدیدی رخ داده باشد. این بار دوم تنها تغییرات را اعمال می‌کند، بنابراین باید سریع باشد. .IP 3. 4 پایگاه داده userdb را به‌روزرسانی کنید تا پیکربندی قالب ایمیل جدیدِ مورد نظر را برگرداند. برای مثال: \fBmail_driver = mdbox\fR و \fBmail_path = ~/mdbox\fR. اگر از حافظه پنهان احراز هویت (auth cache) استفاده می‌کنید، باید آن را خالی کنید، مانند \fBdoveadm auth cache flush\fR. .IP 4. 4 چند ثانیه صبر کنید و سپس تمام نشست‌های موجود imap و pop3 کاربر را (که هنوز از maildir استفاده می‌کنند) متوقف کنید (doveadm kick). .IP 5. 4 دستور \fIdoveadm sync\fR را یک بار دیگر اجرا کنید تا تغییرات نهایی که احتمالاً اعمال شده بودند اعمال شوند. پس از این نباید هیچ تغییری در Maildir وجود داشته باشد، زیرا مکان ایمیل کاربر تغییر کرده و تمام فرایندهای موجود که از آن استفاده می‌کردند خاتمه یافته‌اند. .RE 0 .P هنگامی که همه کاربران تبدیل شدند، می‌توانید تنظیمات سراسری \fImail_driver\fR و \fImail_path\fR را به‌روزرسانی کرده و مکان‌های ایمیل به ازای هر کاربر را از \fIuserdb\fR حذف کنید..SH "امنیت (SECURITY)" .P این دستور نمی‌تواند توسط کاربران غیرقابل‌اعتماد به‌طور ایمن استفاده شود، مگر اینکه ورودی به‌طور دقیق پاک‌سازی شده باشد. مقصد اجازه اجرای دستورهای دلخواه را می‌دهد. در صورت استفاده از \fIdsync_remote_cmd\fR، نام کاربری و نام میزبان ممکن است دارای فاصله باشند یا با یک خط تیره آغاز شوند، که می‌تواند امکان انتقال پارامترهای ناامن به \fBssh\fR را فراهم کند. همچنین از آنجا که \fBssh\fR دستورها را از طریق پوسته اجرا می‌کند، پارامترهای حاوی مواردی مانند \fB;\fR یا \fB&&\fR می‌توانند منجر به اجرای چندین دستور شوند. .SH "گزارش باگ‌ها (REPORTING BUGS)" .P گزارش باگ‌ها، از جمله خروجی \fIdoveconf -n\fR را به فهرست پستی Dovecot به نشانی \fI\(ladovecot@dovecot.org\(ra\fR ارسال کنید. اطلاعات درباره نحوه گزارش باگ‌ها در این آدرس در دسترس است: \fI\(lahttps://dovecot.org/bugreport.html\(ra\fR .SH "همچنین ببینید (SEE ALSO)" .P doveadm(1), doveadm-purge(1)