یک بار مشتری‌ای داشتم که بکاپ روزانه cPanel را در سرور نگه می‌داشت و از این بابت خیالش راحت بود. یک روز هاستینگ دچار مشکل شد و کل سرور از دسترس خارج شد. بکاپ‌های cPanel هم روی همان سرور بودند و با آن از بین رفتند. آن تجربه یک درس واضح به من داد: بکاپ در همان سروری که بکاپ از آن گرفته می‌شود، بکاپ نیست؛ توهم امنیت است. در این مقاله، روش درست بکاپ از cPanel و استراتژی چندلایه‌ای را که در همه پروژه‌هایم اجرا می‌کنم، توضیح می‌دهم.

چرا بکاپ، اولین افزونه‌ای است که باید نصب شود؟

در پروژه‌های خودم، اولین کاری که بعد از راه‌اندازی سایت انجام می‌دهم، تنظیم یک سیستم بکاپ است. نه افزونه سئو، نه افزونه کش، نه قالب. دلیلش ساده است: بدون بکاپ، هر تصمیم بعدی روی سایت، یک قمار است. اگر مفهوم کلی بکاپ و نقش آن در امنیت سایت را نمی‌دانید، پیشنهاد می‌کنم ابتدا پشتیبان‌گیری از سایت چیست و چرا ضروری است را بخوانید.

سه دلیل که بکاپ cPanel را جدی می‌گیرم:

  • ابزار بومی و رایگان: cPanel ابزار بکاپ داخلی دارد که نیازی به افزونه وردپرس ندارد.
  • پوشش کامل: بکاپ cPanel تمام سایت را پوشش می‌دهد: فایل‌ها، دیتابیس، ایمیل، تنظیمات هاست و حتی cron jobها.
  • مناسب برای مهاجرت: بکاپ‌های cPanel به‌راحتی قابل انتقال به هاست دیگر هستند.
بکاپ روی همان هاستی که سایت روی آن اجرا می‌شود، مثل گذاشتن کلید یدکی در قفل خانه است: تا وقتی که قفل سالم است، به‌نظر امن می‌رسد، اما در لحظه‌ای که به آن نیاز دارید، همراه قفل شکسته می‌شود.

انواع بکاپ در cPanel و کاربرد هرکدام

cPanel سه نوع بکاپ ارائه می‌دهد که هرکدام کاربرد خاص خودش را دارد:

بکاپ کامل (Full Backup)

تمام بخش‌های هاست را در یک فایل zip واحد ذخیره می‌کند: از فایل‌ها تا دیتابیس، ایمیل، کرون‌جاب‌ها و تنظیمات. مناسب برای مهاجرت بین هاست‌ها و آرشیو بلندمدت.

بکاپ Home Directory

فقط فایل‌های سایت (پوشه public_html و سایر پوشه‌ها) را بکاپ می‌گیرد، بدون دیتابیس. مناسب برای بازیابی سریع فایل‌ها.

بکاپ MySQL Databases

فقط دیتابیس‌ها را بکاپ می‌گیرد. مناسب برای بکاپ روزانه دیتابیس وردپرس، مخصوصاً در فروشگاه‌های ووکامرسی که داده‌های سفارش به‌طور مداوم تغییر می‌کنند. راهنمای اختصاصی در چگونه از دیتابیس وردپرس بکاپ بگیریم.

گام‌به‌گام: بکاپ کامل از cPanel

برای گرفتن بکاپ کامل، این گام‌ها را طی کنید:

  1. ورود به cPanel: از طریق پنل هاست یا آدرس yourdomain.com:2083.
  2. بخش Files → Backup: در صفحه اصلی cPanel، آیکون Backup یا Backup Wizard را پیدا کنید.
  3. گزینه Download a Full Account Backup: در بخش Full Backup یا Download a Full Account Backup، روی دکمه Download a Full Account Backup کلیک کنید.
  4. انتخاب مقصد بکاپ: معمولاً دو گزینه وجود دارد — ذخیره در Home Directory یا دانلود مستقیم. توصیه من: Home Directory و سپس دانلود دستی.
  5. ایمیل اعلان: آدرس ایمیلی وارد کنید که پس از اتمام بکاپ مطلع شود.
  6. شروع بکاپ: پس از تایید، فرآیند بکاپ شروع می‌شود. بسته به حجم سایت، می‌تواند از چند دقیقه تا چند ساعت طول بکشد.
  7. دانلود فایل بکاپ: پس از اتمام، فایل zip از طریق File Manager قابل دانلود است.

حجم بکاپ کامل معمولاً بیشتر از ۵۰۰ مگابایت است و ممکن است دانلود آن از طریق مرورگر ناپایدار باشد. توصیه من: برای فایل‌های بزرگ، از یک کلاینت FTP استفاده کنید یا فایل را از طریق scp دانلود کنید.

بکاپ انتخابی: فایل‌ها، دیتابیس یا ایمیل

اگر نیازی به بکاپ کامل ندارید، می‌توانید بخش‌های مشخصی را بکاپ بگیرید:

بکاپ Home Directory

در بخش Backup، گزینه Home Directory را انتخاب کنید. این بکاپ شامل همه فایل‌های سایت است اما دیتابیس را پوشش نمی‌دهد.

بکاپ دیتابیس

در بخش MySQL Databases یا در Backup → Download a MySQL Database Backup، می‌توانید دیتابیس مورد نظر را انتخاب و دانلود کنید. این بکاپ معمولاً سریع است و فایل .sql.gz حجم کمی دارد.

بکاپ ایمیل

اگر ایمیل سازمانی روی همان هاست دارید، در بخش Email Forwarders and Filters می‌توانید تنظیمات ایمیل‌ها را بکاپ بگیرید. اما فایل‌های خود ایمیل معمولاً در بکاپ کامل ذخیره می‌شوند.

راهنمای گام‌به‌گام این مراحل در چگونه از cPanel بکاپ بگیریم آمده است.

بازیابی از بکاپ cPanel

بکاپ بدون بازیابی، فقط یک فایل سنگین است. بازیابی از بکاپ cPanel معمولاً از طریق File Manager یا phpMyAdmin انجام می‌شود:

بازیابی Home Directory

  1. آپلود فایل بکاپ: فایل zip بکاپ را در پوشه اصلی (home) آپلود کنید، نه در public_html.
  2. Extract فایل: با File Manager آن را Extract کنید. این کار فایل‌ها را در پوشه اصلی باز می‌کند.
  3. جابه‌جایی فایل‌ها: بسته به ساختار بکاپ، فایل‌ها ممکن است در پوشه‌ای به نام کاربر باشند. آن‌ها را به public_html منتقل کنید.

بازیابی دیتابیس

  1. ورود به phpMyAdmin: از بخش MySQL Databases در cPanel.
  2. انتخاب دیتابیس: دیتابیس مورد نظر را انتخاب کنید.
  3. Import: از تب Import فایل .sql یا .sql.gz را آپلود کنید.
  4. اجرای Import: روی دکمه Go بزنید و منتظر بمانید تا فرآیند تمام شود.

راهنمای کامل بازیابی در بازیابی سایت از بکاپ چگونه انجام می‌شود. یک نکته مهم: همیشه بازیابی را روی محیط Staging یا یک هاست آزمایشی تمرین کنید، نه روی سایت زنده.

انتقال بکاپ به فضای ابری؛ اصل حیاتی

اصل اساسی: بکاپ باید از سرور بیرون برود. سه راه برای این کار وجود دارد:

  1. دانلود دستی و آپلود به فضای ابری: فایل بکاپ را دانلود و در Google Drive، Dropbox یا OneDrive آپلود کنید. ساده اما نیازمند زمان است.
  2. اتصال مستقیم به فضای ابری از طریق افزونه بکاپ: افزونه‌هایی مثل UpdraftPlus، BackupBuddy و BlogVault امکان اتصال مستقیم به فضای ابری را دارند. مزایای این رویکرد در پشتیبان‌گیری ابری چه مزایایی دارد آمده است.
  3. اسکریپت خودکار با rsync یا rclone: برای کاربران فنی، اسکریپت‌هایی که بکاپ را به‌طور خودکار به سرور دیگر یا فضای ابری منتقل می‌کنند. راهنمای این روش در پشتیبان‌گیری از سرور چگونه انجام می‌شود.

Backup Wizard؛ مسیر ساده‌تر

اگر با رابط Backup پیچیده راحت نیستید، cPanel یک ابزار ساده‌تر به نام Backup Wizard دارد. این ابزار با ویزاردهای گام‌به‌گام، فرآیند بکاپ و بازیابی را ساده می‌کند. برای کاربران تازه‌کار، این مسیر بسیار مستقیم‌تر است.

اگر با کار با cPanel آشنا نیستید، آموزش کار با cPanel برای مبتدیان راهنمای کاملی است.

اتوماسیون بکاپ؛ از دستی به خودکار

بکاپ دستی، برای پروژه‌های جدی کافی نیست. سه رویکرد برای خودکارسازی:

  1. افزونه بکاپ وردپرس: افزونه‌هایی مثل UpdraftPlus و BlogVault می‌توانند بکاپ روزانه یا هفتگی خودکار بگیرند و به فضای ابری منتقل کنند. مقایسه کامل در بهترین افزونه‌های پشتیبان‌گیری وردپرس کدامند.
  2. Cron Job سرور: اگر به SSH دسترسی دارید، می‌توانید با یک cron job، بکاپ‌های خودکار روزانه بسازید.
  3. سرویس‌های تخصصی: سرویس‌هایی مثل BlogVault یا CodeGuard، فرآیند بکاپ را به‌طور کامل مدیریت می‌کنند، اما هزینه ماهانه دارند.

یک عادت که در همه پروژه‌ها دارم: حداقل یک بکاپ روزانه از دیتابیس و یک بکاپ هفتگی از کل سایت. این ترکیب، تعادل خوبی بین سربار و پوشش دارد.

جدول خلاصه؛ انواع بکاپ و کاربردها

نوع بکاپپوششکاربرد اصلی
Full Backupفایل + دیتابیس + ایمیل + تنظیماتمهاجرت بین هاست‌ها
Home Directoryفقط فایل‌هابازیابی سریع فایل‌ها
MySQL Databasesفقط دیتابیسبکاپ روزانه دیتابیس وردپرس
Email Forwardersتنظیمات ایمیلبازیابی تنظیمات ایمیل

اشتباهات رایج در بکاپ cPanel

  • نگه‌داشتن بکاپ روی همان هاست: بزرگ‌ترین اشتباه. بکاپ باید بیرون از سرور باشد.
  • نگرفتن بکاپ از دیتابیس: بعضی کاربران فقط فایل‌ها را بکاپ می‌گیرند و دیتابیس را فراموش می‌کنند.
  • بکاپ‌های نادر و نامنظم: بکاپ هفتگی برای فروشگاه فعال کافی نیست. حداقل روزانه.
  • تست نکردن بازیابی: بکاپی که بازیابی‌اش آزمایش نشده، بکاپ نیست. حداقل هر سه ماه یک بار بازیابی را تمرین کنید.
  • حذف فایل‌های بکاپ قدیمی برای آزادسازی فضا: هرچند این کار لازم است، اما نباید آخرین نسخه‌ها را حذف کنید. قاعده: حداقل سه نسخه آخر را نگه دارید.
  • فراموش کردن بکاپ از ایمیل‌ها: اگر ایمیل سازمانی روی هاست دارید، بکاپ شامل آن‌ها هم باید باشد. راهنما در پشتیبان‌گیری از ایمیل و فایل‌های هاست.
  • نادیده گرفتن بکاپ قبل از به‌روزرسانی وردپرس: هر به‌روزرسانی مهم باید با بکاپ همراه باشد.

بکاپ به‌عنوان استراتژی، نه اقدام جانبی

برای معماران پلتفرم و تیم‌های فنی، بکاپ نباید به‌عنوان یک اقدام موردی دیده شود؛ بلکه بخشی از استراتژی پایداری سازمان است. در این نگاه، سه الگوی معماری ارزشمند است:

  1. لایه‌بندی بکاپ (3-2-1 Rule): قاعده‌ای که در پروژه‌های بزرگ رعایت می‌کنم: ۳ نسخه بکاپ، ۲ رسانه ذخیره‌سازی متفاوت، ۱ نسخه بیرون از سایت. مثلاً یک نسخه روی هاست، یک نسخه روی فضای ابری و یک نسخه روی دیسک آفلاین.
  2. بازیابی به‌عنوان فرآیند آموزش‌دیده: بکاپ در سازمان بدون فرآیند بازیابی تمرین‌شده، بی‌ارزش است. تیم باید در دوره‌های زمانی معین، سناریوهای بحران را تمرین کند.
  3. پایش خودکار و هشدار: بکاپ‌ها باید به‌طور خودکار پایش شوند. اگر یک بکاپ ناقص یا ناموفق باشد، تیم باید در کمتر از یک ساعت مطلع شود. ترکیب این لایه با ابزارهایی مثل SIEM یا مانیتورینگ، در سازمان‌های بزرگ ضروری است.
  4. رمزنگاری بکاپ: بکاپ‌ها شامل داده‌های حساس (اطلاعات مشتری، تراکنش‌های مالی) هستند. رمزنگاری فایل بکاپ، به‌خصوص در فضای ابری، لایه‌ای از امنیت اضافه می‌کند. اگر روی سیستم عضویت دارید، آموزش ساخت سیستم عضویت در وردپرس نکات مربوط به رمزنگاری داده را دارد.

در این نگاه، بکاپ نه به‌عنوان یک فایل جانبی، بلکه به‌عنوان بیمه‌نامه بلندمدت پروژه دیده می‌شود. تصویر کامل این نگاه در اشتباهات رایج در پشتیبان‌گیری از سایت و چند نسخه بکاپ باید نگهداری کنیم آمده است.

پرسش‌های پرتکرار

هر چند وقت یک بار باید بکاپ بگیرم؟ برای سایت‌های فروشگاهی، حداقل روزانه. برای سایت‌های محتوایی، هفتگی کافی است. اگر به‌طور منظم محتوا اضافه می‌کنید، روزانه توصیه می‌شود.

بکاپ cPanel چه حجمی دارد؟ بستگی به حجم سایت دارد. برای یک سایت وردپرسی متوسط، بین ۲۰۰ مگابایت تا ۱ گیگابایت. برای فروشگاه‌های بزرگ، چند گیگابایت.

آیا باید بکاپ قدیمی را حذف کنم؟ بله، برای آزادسازی فضا، اما حداقل سه نسخه آخر را نگه دارید. راهنمای کامل در چگونه فضای cPanel را آزاد کنیم.

چطور بکاپ را بازیابی کنم؟ از طریق File Manager برای فایل‌ها و phpMyAdmin برای دیتابیس. راهنمای کامل در بازیابی سایت از بکاپ.

آیا بکاپ cPanel شامل افزونه‌های وردپرس هم می‌شود؟ بله، چون افزونه‌ها در پوشه wp-content/plugins قرار دارند و در بکاپ Home Directory قرار می‌گیرند.

آیا بکاپ cPanel را می‌توان روی هاست دیگری بازیابی کرد؟ بله، اما معمولاً باید از طریق پنل WHM یا با ابزار انتقال هاست انجام شود. برای انتقال سایت به هاست جدید، راهنمای چگونه سایت وردپرسی را به هاست جدید منتقل کنیم.

آیا فضای ابری رایگان برای بکاپ کافی است؟ برای سایت‌های کوچک، Google Drive با ۱۵ گیگابایت رایگان ممکن است کافی باشد. اما برای فروشگاه‌های بزرگ، نیازمند فضای پولی یا سرویس تخصصی خواهید بود.

نکته پایانی

بکاپ cPanel، در ظاهر یک ابزار ساده است؛ در باطن، یکی از ارکان اصلی پایداری سایت. تجربه‌ام نشان داده که پروژه‌هایی که از روز اول بکاپ چندلایه را در استراتژی خود گنجانده‌اند، در لحظات بحران با آرامش عمل کرده‌اند و پروژه‌هایی که بکاپ را به بعد موکول کرده‌اند، در بحرانی‌ترین روزها، هزینه سنگینی پرداخته‌اند. سه اقدام عملی همین امروز: اول، همین حالا یک بکاپ کامل بگیرید؛ دوم، آن را به فضای ابری منتقل کنید؛ سوم، بازیابی را روی یک محیط آزمایشی تمرین کنید.

اگر تجربه‌ای از بکاپ cPanel در پروژه‌های خودتان دارید — چه یک بکاپ که در لحظه حادثه نجاتتان داد، چه یک چالش پیچیده در بازیابی — برای من و خوانندگان این سایت ارزشمند است که در دیدگاه‌ها بخوانیم. بگویید در پروژه شما کدام لایه از بکاپ بیشترین تفاوت را ساخت و چرا؛ همان یک تجربه می‌تواند به خواننده بعدی که همین امروز با هاست و سایت خودش کار می‌کند، چند ساعت آزمون‌وخطا را صرفه‌جویی کند. 🛡️