
به اشتراک بگذارید

به اشتراک بگذارید
💡 ترتیب کار: همگامسازی زودهنگام، تست روی سرور جدید و در آخر تغییر DNS
🔶 انتقال رایگان به سرور اختصاصی وبداده
[ VPS (old) ] --rsync + db dump--> [ Dedicated (new) ]
| |
DNS A record (low TTL) ---- switch ----+
|
keep running until traffic = 0 (rollback path)
🔸 نکته فنی: TTL چطور کار میکند؟

⚠️ دو محدودیت که باید از قبل بدانید

| زمان | کار اصلی | نتیجه |
|---|---|---|
| ۷ روز قبل | کاهش TTL و گرفتن بکاپ کامل | آمادگی برای جابهجایی سریع DNS |
| ۲ تا ۳ روز قبل | آمادهسازی سرور مقصد و همگامسازی اولیه فایلها | بیشتر داده بدون قطعی منتقل میشود |
| روز انتقال | حالت نگهداری، همگامسازی نهایی و انتقال دیتابیس | پنجره قطعی کوتاه و کنترلشده |
| همان روز | تست با فایل hosts و سپس تغییر رکورد A | ترافیک به سرور جدید میرود |
| تا صفر شدن ترافیک قدیم | پایش لاگ هر دو سرور و Search Console | خاموش کردن امن سرور قدیم |
-a معادل -rlptgoD است و لینکهای سخت، ACL و ویژگیهای گسترده را شامل نمیشود؛ برای همین در دستور زیر -H، -A و -X جداگانه آمدهاند. گزینه --numeric-ids هم شناسه کاربر و گروه را بدون تبدیل به نام منتقل میکند. این همگامسازی اول در حالی انجام میشود که سایت روشن است و بیشتر حجم داده را جابهجا میکند؛ رمز مهاجرت بدون قطعی همین است، چون برای روز آخر فقط تغییرات باقی میماند.# first pass (site stays online)
rsync -aHAX --numeric-ids --info=progress2 \
/var/www/ root@NEW_IP:/var/www/
# dry run of the final pass: -n shows what would change
rsync -aHAXn --numeric-ids --delete /var/www/ root@NEW_IP:/var/www/
--single-transaction وضعیت سازگار جداول InnoDB را بدون مسدود کردن برنامهها خروجی میگیرد، اما فقط جداول InnoDB را سازگار نگه میدارد. تریگرها بهطور پیشفرض خروجی گرفته میشوند، ولی رویههای ذخیرهشده و رویدادها به --routines و --events نیاز دارند. در MySQL هم ابزار mysqldump همین گزینهها را دارد.# on the old server, inside the maintenance window
mariadb-dump --single-transaction --routines --events \
--databases shopdb > shopdb.sql
rsync -z shopdb.sql root@NEW_IP:/root/
# on the new server
mariadb < /root/shopdb.sql
crontab -l از سرور قدیم دربیاورید و فایلهای /etc/cron.d را هم از قلم نیندازید.--delete اجرا کنید تا فایلهایی که روی سرور قدیم حذف شدهاند، روی مقصد هم حذف شوند. این گزینه برگشتپذیر نیست؛ پس اول خروجی اجرای آزمایشی با -n را ببینید و از درستی مسیر مقصد مطمئن شوید. بعد خروجی دیتابیس را بگیرید و روی سرور جدید بازیابی کنید. چون بیشتر داده در گام دوم منتقل شده، این مرحله معمولاً کوتاه است.# Linux / macOS: /etc/hosts Windows: C:\Windows\System32\drivers\etc\hosts
NEW_IP example.com www.example.com
# after the switch, check what resolvers return
dig +short example.com A
📚 آنچه راهنمای گوگل میگوید

| روش | مناسب برای | نقطه قوت | محدودیت |
|---|---|---|---|
| همگامسازی rsync و خروجی دیتابیس | سرور لینوکسی بدون کنترل پنل | کنترل کامل و همگامسازی افزایشی | نیاز به تجربه خط فرمان |
| ابزار Transfer Tool در WHM | انتقال بین دو سرور cPanel | انتقال حسابها، بستهها و تنظیمات | نیاز به دسترسی root |
| انتقال رایگان وبداده | مشتریانی که زمان یا تخصص ندارند | اجرا و اعتبارسنجی به دست متخصص | تست نهایی و هماهنگی با خود شماست |
برای سایتهای ایستا یا کمتغییر، تقریباً بله. برای فروشگاه و سایتهای دارای دیتابیس پرتراکنش، معمولاً یک پنجره کوتاه چنددقیقهای برای همگامسازی نهایی لازم است تا داده گم نشود. حذف کامل همین پنجره هم ممکن است، اما به راهاندازی تکرار دیتابیس و پیچیدگی بیشتری نیاز دارد.
به حجم داده، تعداد سایتها و مقدار TTL فعلی بستگی دارد. کار فنی اصلی برای یک سایت متوسط ممکن است در یک روز انجام شود، اما کاهش TTL را باید چند روز قبل شروع کنید. راهنمای گوگل پیشنهاد میکند TTL را دستکم یک هفته پیش از جابهجایی کم کنید.
اگر آدرسها تغییر نکنند و سایت روی سرور جدید درست کار کند، اثر منفی ماندگاری انتظار نمیرود. طبق Google Search Central، کاهش موقت نرخ خزش پس از جابهجایی طبیعی است و طی چند روز بهبود مییابد. مراقب باشید robots.txt یا تگ noindex نسخه آزمایشی به سرور اصلی منتقل نشود.
اگر ایمیل روی سرویس جداگانهای مثل سرویس ایمیل سازمانی است، فقط رکوردهای وب تغییر میکنند و MX دست نمیخورد. اگر ایمیل روی همان VPS است، صندوقها باید منتقل شوند و رکورد A میزبان ایمیل (همان نامی که MX به آن اشاره میکند)، SPF و PTR برای IP جدید بهروز شوند. تا پایان انتشار DNS، سرور قدیم را برای دریافت ایمیل روشن نگه دارید.
در ارتقا از VPS به سرور اختصاصی الزامی نیست، اما همنسخه بودن PHP، دیتابیس و ماژولها ریسک را کم میکند. اگر میخواهید همزمان سیستمعامل یا نسخه PHP را ارتقا دهید، بهتر است اول روی نسخه آزمایشی تست کنید یا ارتقا را به بعد از مهاجرت موکول کنید تا در صورت خطا، علت را راحتتر پیدا کنید.
تا وقتی سرور قدیم روشن است، کافی است رکورد A را به IP قبلی برگردانید؛ با TTL پایین، این تغییر زود دیده میشود. اما دادههایی که در این فاصله روی سرور جدید ثبت شدهاند، مثل سفارشها، باید دستی منتقل شوند. پس مهلت تصمیم برای بازگشت را از قبل مشخص کنید.
بله؛ طبق صفحه انتقال وبداده، انتقال رایگان وبسایت برای همه پلنها ارائه میشود و محدوده کار و ملاحظات خاص سرورتان پیش از شروع بررسی میشود. برای انتقال خارجی، دسترسی SSH و اطلاعات کنترل پنل لازم است. کنترل کیفیت نهایی سایت با خود شماست و مشتریان جدید باید بهروزرسانی DNS را خودشان انجام دهند؛ کارشناسان در طول مسیر راهنمایی میکنند.
بله. اگر هر دو سرور cPanel دارند، Transfer Tool در WHM حسابها و تنظیمات را منتقل میکند و در سایر پنلها هم ابزار بکاپ و بازیابی وجود دارد. این روش برای انتقال سایت به سرور اختصاصی سادهتر است، اما همگامسازی افزایشی rsync را ندارد؛ پس برای سایتهای حجیم، زمان توقف ممکن است بیشتر شود.