.TH "DOVEADM-BACKUP" "1" "May 2026" "e5ac02a" "Dovecot" .SH "نام (NAME)" doveadm\-backup \- قابلیت همگام‌سازی یک‌طرفهٔ صندوق پستی در 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 الگوریتم یک‌طرفه مشابه الگوریتم دsync دوطرفه است، با این تفاوت که حساب مبدأ دستخوش تغییر نمی‌شود. این الگوریتم شناسهٔ GUID پیام (Global UID) را واکشی می‌کند که برای شناسایی هرگونه تعارض 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 همگام‌سازی کامل (پارامتر \fB-f\fR) تمامی پیام‌ها را در تمام صندوق‌های پستی پیمایش می‌کند. این کار تضمین می‌کند که همه چیز همگام خواهد شد، اما برای همگام‌سازی افزایشی بیش از حد کند است. .IP \(bu 4 همگام‌سازی سریع (پیش‌فرض) ابتدا تلاش می‌کند صندوق‌های پستی تغییریافته را بیابد، و تنها آن‌ها را همگام‌سازی کند. این کار با بررسی فراداده‌های صندوق‌های پستی (NEXTUID و HIGHESTMODSEQ) انجام می‌شود. معمولاً این روش به خوبی کار می‌کند، به‌ویژه در همگام‌سازی یک‌طرفه، اما اگر هر دو طرف دقیقاً تعداد تغییرات برابری داشته باشند، ممکن است فراداده‌ها مقادیر یکسانی داشته باشند حتی اگر تغییرات متفاوت بوده باشند. .IP \(bu 4 همگام‌سازی مبتنی بر وضعیت (پارامتر \fB-s\fR) کارآمدترین شیوه برای همگام‌سازی صندوق‌های پستی است. این روش متکی بر ذخیره بودن وضعیت اجرای قبلی dsync در جایی و ارسال آن به اجرای بعدی dsync است. بر اساس این وضعیت، dsync می‌تواند تنها تغییراتی را ارسال کند که پس از اجرای قبلی dsync رخ داده‌اند. تا زمانی که این وضعیت یا صندوق‌های پستی آسیب ندیده باشند، این الگوریتم باید بی‌نقص عمل کند. .RE 0 .P همگام‌سازی تا حد امکان دقیق انجام می‌شود: یک کارخواه IMAP یا POP3 نباید بتواند هیچ تفاوتی بین دو صندوق پستی احساس کند. همگام‌سازی دوطرفه یعنی انجام هر نوع تغییری در هر دو سمت ایمن است، و dsync تغییرات را بدون از دست رفتن تغییرات اعمال‌شده در هر یک از طرفین ادغام خواهد کرد. این ویژگی از آن جهت ممکن است که dsync می‌تواند به گزارش‌های نمایهٔ Dovecot که ردپای تغییرات را ثبت می‌کنند دسترسی داشته باشد. مسلماً امکان بروز تعارض در هنگام ادغام وجود دارد؛ این تعارض‌ها به روشی ایمن حل می‌شوند. برای اطلاعات بیشتر به سند \fIdsync design\fR مراجعه کنید. .P ابزار dsync از همان فایل‌های پیکربندی سایر بخش‌های Dovecot استفاده می‌کند (از طریق doveconf(1)). کل پیکربندی را می‌توان با دادن پارامتر \fB-c\fR به یک فایل پیکربندی دیگر تغییر داد، یا با استفاده از پارامتر \fB-o\fR تنظیمات خاصی را بازنویسی کرد. هنگام اجرای برنامهٔ dsync از راه دور نیز به همان صورت عمل می‌کند: از پیکربندی محلی خود استفاده می‌نماید. .P ابزار dsync می‌تواند کاملاً مستقل اجرا شود. به اجرای هیچ یک از فرآیندهای کارساز Dovecot نیازی ندارد، مگر هنگام استفاده از پارامتر \fB-u\fR برای جستجو در \fIuserdb\fR از طریق فرآیند احراز هویت (auth). .P ابزار dsync می‌تواند با استفاده از پارامترهای \fB-u\fR یا \fB-A\fR یک یا چند کاربر را همگام‌سازی کند. .SH "گزینه‌های عمومی (GLOBAL OPTIONS)" .P گزینه‌های عمومی doveadm(1): .P \fB-D\fR .RS 0 .RS 4 .P پیام‌های اشکال‌زدایی (debug) و پرگویی (\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 پرگویی (verbosity)، از جمله شمارندهٔ پیشرفت را فعال می‌کند. .RE 0 .RE 0 .P \fB-i\fR \fIinstance-name\fR .RS 0 .RS 4 .P در صورت استفاده از چندین نمونه (instance) از 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) باید منتظر عملیات‌های ورودی/خروجی معلق بماند. مهلت زمانی پیش‌فرض ۶۰۰ ثانیه است. .RE 0 .RE 0 .P \fB-p\fR \fIsetting\fR\fB=\fR\fIvalue\fR .RS 0 .RS 4 .P تنظیم پیکربندی \fIsetting\fR را برای فضای ذخیره‌سازی مبدأ بازنویسی می‌کند. .RE 0 .RE 0 .P \fB-g\fR \fImailbox_guid\fR .RS 0 .RS 4 .P مشابه \fB-m\fR است، اما صندوق پستی مورد نظر برای همگام‌سازی را به‌جای نام، بر اساس شناسهٔ یکتای 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". در صورت تعیین شدن، تلاش می‌شود پیام‌ها به جای ذخیرهٔ جداگانه، از این صندوق پستی کپی شوند. این کار می‌تواند مصرف کل فضای دیسک و همچنین ورودی/خروجی (IO) دیسک را کاهش دهد. .RE 0 .RE 0 .P \fB-t\fR \fIstart date\fR .RS 0 .RS 4 .P ایمیل‌هایی را که برچسب زمانی دریافت آن‌ها قدیمی‌تر از زمان مشخص‌شده است نادیده می‌گیرد. .RE 0 .RE 0 .P \fB-e\fR \fIend date\fR .RS 0 .RS 4 .P ایمیل‌هایی را که برچسب زمانی دریافت آن‌ها جدیدتر از زمان مشخص‌شده است نادیده می‌گیرد. .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 از همگام‌سازی مبتنی بر وضعیت استفاده می‌کند. این امکان همگام‌سازی افزایشی بهینه‌شده را با ارائهٔ یک "رشته وضعیت همگام‌سازی" از اجرای قبلی dsync فراهم می‌سازد. ابزار dsync از این وضعیت استفاده می‌کند تا تنها تغییراتی را که از زمان ثبت آن وضعیت رخ داده‌اند همگام‌سازی کند و از پویش کامل صندوق پستی اجتناب نماید. اگر وضعیت قبلی ناشناخته باشد، از یک رشتهٔ خالی استفاده کنید. در صورت تعیین این پارامتر، وضعیت جدید همیشه در خروجی استاندارد چاپ می‌شود. .RE 0 .RE 0 .P \fB-u\fR \fIuser/mask\fR .RS 0 .RS 4 .P دستور (\fIcommand\fR) را تنها برای \fIuser\fR داده‌شده اجرا می‌کند. همچنین امکان استفاده از نویسه‌های عام (wildcards) '\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 است، با این تفاوت که "user@domain\[rs]n" پیش از شروع پروتکل dsync ارسال می‌شود. این امکان پیاده‌سازی یک اسکریپت پوششی قابل اعتماد را فراهم می‌کند که 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 "مثال (EXAMPLE)" .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 موجود کاربر را متوقف کنید (با استفاده از doveadm kick) (که هنوز از maildir استفاده می‌کنند). .IP 5. 4 دستور \fIdoveadm sync\fR را یک بار دیگر اجرا کنید تا تغییرات نهایی که احیاناً انجام شده‌اند اعمال شوند. پس از این نباید هیچ تغییری در Maildir ایجاد شود، زیرا مکان ایمیل کاربر تغییر یافته و تمام فرآیندهای موجود که از آن استفاده می‌کردند متوقف شده‌اند. .RE 0 .P پس از این‌که تمام کاربران تبدیل شدند، می‌توانید تنظیمات سراسری \fImail_driver\fR و \fImail_path\fR را به‌روزرسانی کرده و مکان‌های ایمیل به ازای هر کاربر را از \fIuserdb\fR حذف کنید. .SH "امنیت (SECURITY)" .P این دستور نمی‌تواند به طور ایمن توسط کاربران غیرقابل اعتماد استفاده شود، مگر اینکه ورودی به دقت پاکسازی و اعتبارسنجی (sanitize) شود. مقصد اجازهٔ اجرای دستورات دلخواه را می‌دهد. در صورت استفاده از \fIdsync_remote_cmd\fR، نام کاربری و نام میزبان ممکن است حاوی فاصله باشند یا با یک خط تیره شروع شوند که می‌تواند امکان ارسال پارامترهای ناامن به \fBssh\fR را فراهم کند. همچنین از آنجا که \fBssh\fR دستورات را از طریق پوسته (shell) اجرا می‌کند، پارامترهای حاوی مثلاً \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)