بکاپ سایت — چرا و چطور از دست رفتن داده جلوگیری کنیم؟
راهنمای بکاپ وبسایت برای کسبوکار: انواع پشتیبان، فرکانس، بازیابی و اشتباهاتی که بعد از هک پشیمان میشوید.
سایت بدون بکاپ مثل مغازه بدون بیمه آتشسوزی است — تا وقتی هک، خطای انسانی یا خرابی هاست رخ ندهد، فکرش را نمیکنید. بکاپ یعنی کپی ذخیرهشده از سایت و دیتابیس که بتوانید برگردانید.
پاسخ کوتاه: بکاپ سایت یعنی از هر چیزی که برای بالا آوردن دوباره سایت لازم است — فایلها، دیتابیس، فایلهای آپلودشده و تنظیمات — بهطور منظم نسخه بگیرید، حداقل یک نسخه را بیرون از همان سرور نگه دارید، و گاهی واقعاً بازیابی کنید تا مطمئن شوید آن نسخه کار میکند. داشتن فایل بکاپ با داشتن «برنامه بازیابی» یکی نیست؛ این راهنما هر دو را مرحلهبهمرحله و به زبان ساده توضیح میدهد.
چرا بکاپ لازم است؟
- حمله هک یا ویروس
- خطای بهروزرسانی یا حذف اشتباهی
- خرابی سرور هاست
- نیاز به بازگشت به نسخه دیروز
بخشی از امنیت سایت است.
چه چیزی باید بکاپ شود؟
بکاپی که فقط بخشی از سایت را دارد، روز بحران سایت را نیمهکاره برمیگرداند. قبل از هر چیز از مجری بخواهید فهرست کند بکاپ فعلی دقیقاً شامل کدام بخشهاست:
- فایلها: کد، عکس، آپلودها
- دیتابیس: محتوا، سفارشها، کاربران — در وردپرس و فروشگاه حیاتی
- فایلهای آپلودشده توسط کاربران و ادمین: عکس محصول، فاکتور، فایلهای فرم — گاهی در پوشهای جدا از کد نگه داشته میشوند و در بکاپ «فقط کد» جا میمانند
- تنظیمات و پیکربندی: فایل تنظیمات محیط (مثل
.envدر لاراول یاwp-config.phpدر وردپرس)، تنظیمات وبسرور و کارهای زمانبندیشده (Cron) — بدون اینها، حتی با فایل و دیتابیس کامل، سایت ممکن است بالا نیاید - اطلاعات بیرون از سرور: فهرست رکوردهای DNS، اطلاعات دسترسی به پنل دامنه و درگاه پرداخت — اینها «بکاپ» به معنای فایل نیستند، ولی برای بازیابی کامل لازماند و باید جایی امن ثبت شده باشند
فایل تنظیمات معمولاً رمز دیتابیس و کلیدهای سرویسها را دارد؛ پس نسخهٔ آن باید مثل یک مدرک محرمانه نگهداری شود، نه داخل یک پوشهٔ عمومی یا ایمیل باز.
انواع بکاپ
بکاپ هاست
بسیاری هاستها بکاپ روزانه خودکار دارند — در پنل بررسی کنید. راهنمای هاست.
بکاپ افزونه (وردپرس)
UpdraftPlus و مشابه — ذخیره در فضای ابری جدا از هاست.
بکاپ دستی
دانلود دورهای توسط مجری — برای پروژههای مهم مکمل خوب است.
بکاپ کامل یا افزایشی؟
بکاپ کامل هر بار از همهٔ فایلها و دیتابیس یک نسخهٔ مستقل میگیرد؛ بازگرداندنش سادهتر است ولی فضا و زمان بیشتری میگیرد. بکاپ افزایشی فقط تغییرات نسبت به نسخهٔ قبلی را ذخیره میکند؛ سبکتر است، ولی برای بازیابی به زنجیرهٔ نسخهها نیاز دارد و اگر یک حلقه خراب باشد، بازیابی سخت میشود. بسیاری از سیستمها ترکیبی کار میکنند: هر چند وقت یک نسخهٔ کامل و در فاصلهٔ آنها نسخههای افزایشی. برای مدیر کافی است بداند کدام روش فعال است و آخرین نسخهٔ کامل کی گرفته شده.
چند وقت یکبار؟
معیار درست این است: اگر همین الان سایت از دست برود، از دست دادن چند ساعت یا چند روز داده برایتان قابل قبول است؟ فاصلهٔ بین دو بکاپ، حداکثر دادهای است که ممکن است از دست برود. پس فرکانس را بر اساس سرعت تغییر دادهها انتخاب کنید، نه یک عدد ثابت:
- سایت معرفی با تغییر کم: هفتگی
- فروشگاه و بلاگ فعال: روزانه
- قبل از هر بهروزرسانی بزرگ: حتماً
فروشگاهی که در طول روز سفارشهای زیادی میگیرد، ممکن است برای دیتابیس به فاصلهٔ کوتاهتری نیاز داشته باشد، در حالی که فایلهای قالب و کدش بهندرت عوض میشوند. فرکانس فایل و دیتابیس لازم نیست یکی باشد.
بکاپ خوب کجا ذخیره شود؟
نه فقط روی همان سرور — یک کپی در فضای ابری یا سیستم جدا. اگر سرور بسوزد، بکاپ روی همان سرور هم از بین میرود.
وقتی از «هاست بکاپ» یا «سرور بکاپ» صحبت میشود، معمولاً منظور همین فضای جداگانه است: فضایی که فقط برای نگهداری نسخهها استفاده میشود و به سرور اصلی وابسته نیست. اینکه چرا بکاپ خودکار خود هاست بهتنهایی کافی نیست و چه سؤالهایی باید از شرکت هاست بپرسید، در مقالهٔ چرا بکاپ خودکار هاست کافی نیست جدا بررسی شده است.
دسترسی به بکاپ را هم امن کنید
فایل بکاپ یعنی کل سایت شما — شامل اطلاعات مشتریان و رمزهای اتصال. اگر کسی به آن دسترسی پیدا کند، عملاً به همه چیز دسترسی دارد. چند اصل ساده:
- بکاپ را در پوشهای که از طریق اینترنت قابل باز شدن است (پوشهٔ عمومی سایت) نگه ندارید
- حساب فضای ذخیرهٔ بکاپ، رمز و ورود دومرحلهای جدا از پنل هاست داشته باشد
- تعداد افرادی که به بکاپ دسترسی دارند محدود و مشخص باشد؛ بعد از پایان همکاری با مجری، دسترسیها عوض شود
- در صورت امکان، فایل بکاپ رمزگذاری شود و کلید آن جای دیگری نگهداری شود
چند نسخه نگه داریم؟ — نسخهبندی بکاپ
اگر فقط آخرین نسخه را نگه دارید و آن نسخه بعد از یک هک یا خطای پنهان گرفته شده باشد، عملاً نسخهٔ سالمی ندارید. به همین دلیل بکاپ باید نسخهبندی داشته باشد: چند نسخه از روزهای مختلف، و چند نسخهٔ قدیمیتر از هفتهها یا ماههای قبل. تعداد دقیق به نوع سایت و حجم داده بستگی دارد؛ مهم این است که بدانید قدیمیترین نسخهٔ موجود مربوط به چه تاریخی است و نسخهها خودکار و بیاطلاع پاک نشوند.
تست بازیابی
بکاپ بدون تست بازیابی = اطمینان کاذب. سالی یکبار یا پس از راهاندازی، بازیابی آزمایشی انجام دهید.
تست بازیابی یعنی یک نسخهٔ بکاپ را واقعاً روی یک محیط جدا (نه سایت اصلی) بالا بیاورید و بررسی کنید:
- یک نسخهٔ مشخص را انتخاب کنید و تاریخ آن را یادداشت کنید
- آن را روی یک زیردامنه یا سرور آزمایشی بازگردانید
- صفحهٔ اصلی، چند صفحهٔ داخلی، ورود به پنل مدیریت و فرم تماس را امتحان کنید
- آخرین سفارش، مقاله یا کاربر ثبتشده را با تاریخ بکاپ مقایسه کنید
- بررسی کنید عکسها و فایلهای آپلودشده باز میشوند
- زمانی که کل بازیابی طول کشید و کسی که انجامش داد را ثبت کنید
نتیجهٔ این تست به شما میگوید روز بحران چقدر زمان لازم است و کدام بخش بکاپ ناقص است — قبل از اینکه واقعاً به آن نیاز داشته باشید.
بکاپ داشتن با برنامه بازیابی یکی نیست
بسیاری از سایتها بکاپ دارند ولی برنامهٔ بازیابی ندارند. بکاپ یعنی فایل؛ برنامهٔ بازیابی یعنی اینکه دقیقاً چه کسی، با کدام نسخه، به چه ترتیبی و در چه مدتی سایت را برمیگرداند. یک چکلیست بازیابی ساده — که یک بار نوشته و کنار اطلاعات دسترسی نگهداری شود — معمولاً اینها را دارد:
- مسئول بازیابی و راه تماس با او (و نفر جایگزین)
- محل نگهداری بکاپها و نحوهٔ دسترسی به آنها
- ترتیب بازگرداندن: سرور یا هاست، فایلها، دیتابیس، تنظیمات، و در صورت نیاز DNS
- اینکه بعد از هک، قبل از بازیابی چه کار شود — طبق راهنمای اقدام بعد از هک، اول باید نسخهٔ سالم شناسایی شود
- آزمونهای بعد از بازیابی: فرمها، پرداخت، ایمیل، و فعال بودن HTTPS
- اطلاعرسانی به تیم یا مشتریان در صورت قطعی طولانی
قبل از انتقال هاست یا بهروزرسانی پرخطر
بیشتر خرابیهای ناگهانی بعد از یک تغییر بزرگ رخ میدهد: بهروزرسانی هستهٔ وردپرس یا افزونهها، ارتقای نسخهٔ PHP، تغییر قالب یا انتقال به سرور جدید. قبل از هر کدام:
- یک بکاپ کامل دستی و تازه — فایلها و دیتابیس — بگیرید و مطمئن شوید بیرون از سرور هم ذخیره شده
- تاریخ و محتوای آن نسخه را یادداشت کنید تا اگر برگشت لازم شد، بدانید به کدام نقطه برمیگردید
- در صورت امکان، تغییر را اول روی نسخهٔ آزمایشی امتحان کنید (راهنمای بهروزرسانی سایت)
- برای انتقال هاست، بکاپ را بخشی از برنامهٔ برگشت بدانید — مراحل آن در انتقال سایت به هاست جدید آمده است
اشتباهات رایج
- فرض کردن «هاست خودش دارد» بدون بررسی
- نداشتن بکاپ دیتابیس جدا
- نگهداشتن فقط یک نسخه قدیمی
- بکاپ گرفتن از کد ولی جا انداختن پوشهٔ آپلودها یا فایل تنظیمات
- نگهداشتن فایل بکاپ در پوشهٔ عمومی سایت، جایی که با یک آدرس قابل دانلود است
- نداشتن یک نفر مشخص که مسئول بازیابی باشد
جمعبندی
بکاپ ارزانترین بیمه سایت است. امروز از هاست یا مجری بپرسید: بکاپ خودکار فعال است؟ کجا ذخیره میشود؟ چطور برگردانیم؟
بکاپ کامل یعنی همهٔ بخشها — فایل، دیتابیس، آپلودها و تنظیمات — با فرکانسی متناسب با تغییر داده، حداقل یک نسخه بیرون از سرور، چند نسخهٔ تاریخدار، دسترسی محدود، و یک بازیابی آزمایشی که نتیجهاش ثبت شده باشد. اگر یکی از این حلقهها نیست، از همان شروع کنید.
اگر برای کسبوکار خود به طراحی سایت، فروشگاه اینترنتی، پنل مدیریتی یا نرمافزار اختصاصی نیاز دارید، میتوانید برای دریافت مشاوره با من در ارتباط باشید.