آن روزی که یک هک، تمام داده‌های مشتری را از بین برد

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

پشتیبان‌گیری دقیقاً چیست؟

پشتیبان‌گیری یا Backup، فرآیند تهیهٔ یک نسخهٔ کپی از تمام داده‌های سایت است، به‌گونه‌ای که در صورت بروز مشکل، بتوانید سایت را به وضعیت قبلی بازگردانید. این نسخهٔ کپی شامل تمام فایل‌ها، دیتابیس، تنظیمات و محتوای سایت است.

تصور کنید بکاپ مثل یک نسخه از خانه شماست. اگر خانه آتش بگیرد، نسخهٔ کپی به شما اجازه می‌دهد همه‌چیز را به حالت قبل بازگردانید. همین منطق برای سایت هم صادق است. بدون بکاپ، یک حادثه ساده می‌تواند تمام زحمات شما را از بین ببرد.

چرا بکاپ ضروری است؟

دلایل ضرورت بکاپ بسیار متنوع هستند و همهٔ آن‌ها در پروژه‌های واقعی رخ داده‌اند:

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

در همهٔ این موارد، بکاپ تنها راه بازگشت به وضعیت قبل است. بدون بکاپ، باید از صفر شروع کنید. تجربهٔ من نشان می‌دهد که سایت‌هایی که بکاپ منظم دارند، در صورت بروز حادثه، خسارت کمتری متحمل می‌شوند.

بکاپ از چه چیزهایی باید گرفته شود؟

بکاپ کامل سایت، شامل چند بخش اصلی است:

  • فایل‌های سایت: تمام فایل‌های وردپرس، قالب، افزونه‌ها و آپلودها. این بخش معمولاً بزرگ‌ترین بخش بکاپ است.
  • دیتابیس: تمام داده‌های سایت مثل نوشته‌ها، صفحات، کاربران، تنظیمات و دیدگاه‌ها.
  • فایل wp-config.php: این فایل شامل اطلاعات اتصال به دیتابیس و سایر تنظیمات حساس است.
  • فایل‌های .htaccess: این فایل شامل تنظیمات سرور است.
  • فایل robots.txt: این فایل راهنمای خزش گوگل است.
  • ایمیل‌های هاست: اگر از ایمیل هاست استفاده می‌کنید، این بخش هم باید بکاپ شود.
  • تنظیمات DNS: تنظیمات رکوردهای DNS دامنه.

در بیشتر موارد، بکاپ فایل‌ها و دیتابیس کافی است، اما برای بکاپ کامل، سایر موارد هم باید در نظر گرفته شوند.

انواع بکاپ

بکاپ‌ها را می‌توان به چند دسته تقسیم کرد:

  • بکاپ کامل (Full Backup): شامل تمام فایل‌ها و دیتابیس. بزرگ‌ترین حجم و کندترین زمان، اما کامل‌ترین بکاپ.
  • بکاپ افزایشی (Incremental Backup): فقط تغییرات از آخرین بکاپ را ذخیره می‌کند. سریع‌تر و کم‌حجم‌تر است.
  • بکاپ تفاضلی (Differential Backup): تغییرات از آخرین بکاپ کامل را ذخیره می‌کند.
  • بکاپ دیتابیس: فقط دیتابیس را ذخیره می‌کند. برای تغییرات کوچک مفید است.
  • بکاپ فایل: فقط فایل‌ها را ذخیره می‌کند. برای تغییرات قالب یا افزونه مفید است.

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

## قواعد سه نسخه

یک قاعدهٔ رایج در دنیای امنیت داده‌ها وجود دارد که به «قاعدهٔ سه-دو-یک» معروف است:

  • سه نسخه: حداقل سه نسخه از داده‌های خود را نگه‌داری کنید.
  • دو مکان: این سه نسخه در دو مکان متفاوت نگه‌داری شوند.
  • یک آفلاین: یکی از این نسخه‌ها باید آفلاین باشد.

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

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

بکاپ تست‌نشده، بکاپ نیست

یکی از اشتباهات رایج در بکاپ‌گیری، تهیهٔ بکاپ بدون تست بازیابی است. بکاپی که بازیابی‌اش تست نشده باشد، فقط یک فایل ذخیره‌شده است، نه بکاپ. ممکن است در فرآیند بکاپ، داده‌ها ناقص ذخیره شده باشند یا در فرآیند بازیابی، مشکلی رخ دهد. تا وقتی بازیابی را تست نکرده‌اید، نمی‌توانید مطمئن باشید که بکاپ شما واقعاً کار می‌کند.

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

روش‌های تهیه بکاپ

روش‌های مختلفی برای تهیهٔ بکاپ وجود دارد:

  • افزونه‌های وردپرس: ساده‌ترین روش برای کاربران وردپرس. افزونه‌هایی مثل UpdraftPlus، BackupBuddy و Jetpack Backup این کار را به‌سادگی انجام می‌دهند.
  • ابزارهای هاست: اکثر هاست‌ها ابزار بکاپ ارائه می‌دهند. مثلاً cPanel قابلیت بکاپ را دارد. راهنما در چگونه از cPanel بکاپ بگیریم آمده است.
  • خط فرمان: با دستورهایی مثل mysqldump و tar می‌توانید بکاپ بگیرید. این روش کنترل بیشتری می‌دهد.
  • سرویس‌های ابری: بعضی سرویس‌ها مثل VaultPress بکاپ ابری ارائه می‌دهند.
  • ابزارهای جانبی: ابزارهایی مثل phpMyAdmin برای بکاپ دیتابیس.

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

چند وقت یک بار بکاپ بگیریم؟

تعداد دفعات بکاپ‌گیری، بستگی به فعالیت سایت و اهمیت داده‌ها دارد:

  • سایت‌های فروشگاهی: روزانه یا چند بار در روز. چون هر سفارش، دادهٔ جدید است.
  • سایت‌های محتوایی: هفتگی. اگر محتوا روزانه تولید می‌شود، شاید روزانه.
  • سایت‌های شخصی: هفتگی یا ماهانه. اگر تغییرات کم است، ماهانه کافی است.
  • سایت‌های سازمانی: روزانه. چون داده‌های حساس زیادی دارند.
  • سایت‌های آموزشی: هفتگی. اگر دوره‌های جدید اضافه می‌شود، شاید روزانه.

علاوه بر بکاپ دوره‌ای، توصیه می‌کنم در مواقع حساس مثل پیش از آپدیت بزرگ، پیش از تغییر قالب یا پیش از مهاجرت، حتماً بکاپ جداگانه بگیرید.

اشتباهات رایج در بکاپ‌گیری

در تجربهٔ خودم، چند اشتباه رایج در بکاپ‌گیری دیده‌ام:

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

این اشتباهات در پروژه‌های واقعی منجر به از دست رفتن داده‌ها شده‌اند. توضیح بیشتر در اشتباهات رایج در پشتیبان‌گیری از سایت آمده است.

بکاپ و امنیت

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

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

بکاپ و AEO

در عصر جستجوی مبتنی بر هوش مصنوعی، پایداری سایت اهمیت بیشتری پیدا کرده است. سایت‌هایی که مکرراً از دسترس خارج می‌شوند، اعتبار خود را از دست می‌دهند و موتورهای پاسخ‌ده مثل ChatGPT و Perplexity اعتماد کمتری به آن‌ها دارند. داشتن بکاپ منظم، به پایداری سایت کمک می‌کند و در نتیجه به AEO اثر مثبت می‌گذارد. توضیح بیشتر در AEO چیست و چه تفاوتی با سئو دارد آمده است.

پرسش‌های پرتکرار دربارهٔ پشتیبان‌گیری از سایت

آیا بکاپ روی هاست کافی است؟ خیر. اگر هاست از دسترس خارج شود، بکاپ هم از بین می‌رود. باید بکاپ را بیرون از هاست نگه‌داری کنید.

آیا پس از بکاپ باید بازیابی را تست کنم؟ بله. بکاپی که تست نشده باشد، بکاپ نیست. حداقل هر سه ماه یک بار بازیابی را تست کنید.

چند نسخه بکاپ باید نگه‌داری کنم؟ توصیه می‌شود حداقل سه نسخه در دو مکان مختلف و یکی آفلاین نگه‌داری کنید.

آیا بکاپ روی سرعت سایت اثر دارد؟ بکاپ‌گیری می‌تواند روی سرعت سایت اثر موقتی داشته باشد، به‌ویژه در ساعات شلوغی. توصیه می‌شود بکاپ را در ساعات کم‌ترافیک انجام دهید.

آیا بکاپ دیتابیس کافی است یا فایل‌ها هم لازم است؟ هر دو لازم است. بکاپ دیتابیس فقط شامل داده‌ها است، اما فایل‌های سایت شامل قالب، افزونه‌ها و آپلودها هم باید بکاپ شوند.

آیا می‌توانم بکاپ را فشرده کنم؟ بله، فشرده‌سازی باعث کاهش حجم بکاپ می‌شود. اکثر ابزارهای بکاپ این کار را به‌طور خودکار انجام می‌دهند. مستندات ویکی‌پدیا در مورد Backup اطلاعات تکمیلی خوبی ارائه می‌دهد.

سخن آخر: بکاپ، بیمه‌نامهٔ آیندهٔ سایت

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