~3 دقیقه مطالعه • بروزرسانی ۹ اسفند ۱۴۰۴
1. انتقال کاربران بین ریسلرها
DirectAdmin یک ابزار داخلی برای انتقال کاربران بین ریسلرها ارائه میدهد:
Admin Level → Account Manager → Move Users Between Resellersیا مستقیماً از طریق URL:
https://yourdomain.com:2222/CMD_MOVE_USERSاین ابزار در واقع رابط گرافیکی اسکریپت move_user_to_reseller.sh است. برای انتقال از طریق SSH:
/usr/local/directadmin/scripts/move_user_to_reseller.sh 'user' 'oldreseller' 'newreseller'
2. جلوگیری از مشکلات همگامسازی هنگام بکآپ/ریاستور
در مهاجرت از سرور A به سرور B، ممکن است بین زمان ساخت بکآپ و زمان تغییر DNS، دادهها روی سرور A تغییر کنند. نگرانیهای اصلی:
- ایمیلهای جدید روی A
- تغییرات دیتابیس
- تغییرات کاربران (فایلها، تنظیمات، پسوردها)
نکته مهم: قبل از مهاجرت، TTL دامنه را کاهش دهید.
2.1 جلوگیری از گمشدن ایمیل
برای جلوگیری از از دست رفتن ایمیل:
- پورت 25 را روی سرور A موقتاً ببندید (سرورهای ارسالکننده دوباره تلاش میکنند)
- یا درست قبل از تغییر DNS یک
rsyncنهایی از ایمیلها انجام دهید
2.2 مدیریت تغییرات دیتابیس
برای جلوگیری از اختلاف دیتابیس:
- در لحظه آخر یک
mysqldumpجدید گرفته و روی B ایمپورت کنید - یا موقتاً سایت روی A را به دیتابیس B وصل کنید
- یا سایت را در حالت Maintenance قرار دهید
2.3 سایر تغییرات کاربران
میتوانید کاربر را روی A موقتاً Suspend کنید و یک صفحه "در حال انتقال" نمایش دهید.
3. انتقال کاربران بین سرورهای لینکشده در Multi Server Setup
اگر سرورهای A و B با MSS لینک شده باشند، هنگام ریاستور روی B ممکن است خطای “Domain Already Exists” دریافت کنید.
3.1 مراحل صحیح انتقال
مرحله 1: بکآپ را روی A بسازید و به B منتقل کنید.
مرحله 2: روی B به مسیر زیر بروید:
Admin Level → Multi Server Setup- گزینه Domain Check را غیرفعال کنید
- گزینه Zone Transfer فعال بماند
مرحله 3: تنظیمات ریاستور را تغییر دهید:
Admin Level → Admin Backup/Transfer → Backup/Restore Settingsگزینه زیر را فعال کنید:
Check for domain conflict in domainowners instead of named.conf
مرحله 4: کاربر را روی B ریاستور کنید.
مرحله 5: Domain Check را دوباره فعال کنید.
مرحله 6: هنگام حذف کاربر از A، گزینه زیر را فعال کنید:
Leave DNS
این کار باعث میشود DNS باقی بماند و فقط اکانت حذف شود.
4. انتقال دادههای حجیم با rsync
اگر کاربر حجم زیادی در مسیر /home/username/domains/ دارد، بهتر است این مسیر را از بکآپ حذف کنید و جداگانه منتقل کنید.
4.1 ساخت بکآپ بدون Domains Directory
Admin Level → Admin Backup/Transfer → Create Backup → Step 4: What
گزینه زیر را غیرفعال کنید:
Domains Directory
4.2 ریاستور بکآپ روی سرور B
فایل tar.gz را بهصورت معمول ریاستور کنید.
4.3 انتقال پوشه دامنهها با rsync
روی سرور B دستور زیر را اجرا کنید:
rsync -ave 'ssh -p 22' 1.2.3.4:/home/username/domains/ /home/username/domains/
جایگزین کنید:
1.2.3.4→ IP سرور A22→ پورت SSH
برای امنیت بیشتر:
rsync -ave 'ssh -l username -p 22' oldserver:/home/username/domains/ /home/username/domains/
این روش فقط دسترسی سطح کاربر را استفاده میکند.
نوشته و پژوهش شده توسط دکتر شاهین صیامی