بکاپگیری 3-2-1؛ نسخه پشتیبان قابل بازیابی
بکاپی که تست بازیابی نشده باشد بکاپ نیست؛ قاعده 3-2-1 را برای فایلها، دیتابیس و پیکربندی سرور پیاده کنید.
آخرین بهروزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی
- بکاپگیری 3-2-1؛ نسخه پشتیبان قابل بازیابی
- مشخص کنید چه چیزی باید بکاپ شود
- بازیابی را روی محیط تست انجام دهید
چرا این موضوع مهم است؟
موضوع Backup یکی از پایههای نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفهجویی در زمان پشتیبانی میشود.
قبل از شروع، از پیکربندی فعلی و دادههای مهم نسخه پشتیبان بگیرید تا در صورت نیاز بتوانید به وضعیت قبل برگردید.
پیشنیازها
- دسترسی SSH با کاربر root یا کاربر دارای sudo
- Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیعهای مشابه)
- نسخه پشتیبان از فایلها و دیتابیسهای مهم
- اطلاعات اتصال و بکاپ دیتابیس MySQL
راهنمای گامبهگام
گام 1 — مشخص کنید چه چیزی باید بکاپ شود
مشخص کنید چه چیزی باید بکاپ شود. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیشفرض پرهیز کنید.
گام 2 — یک اسکریپت بکاپ با تاریخ بسازید
یک اسکریپت بکاپ با تاریخ بسازید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.
گام 3 — نسخهها را روی مقصد دوم کپی کنید
نسخهها را روی مقصد دوم کپی کنید. این کار را در بازه کمترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.
گام 4 — بکاپ دیتابیس را با dump بگیرید
بکاپ دیتابیس را با dump بگیرید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.
گام 5 — رمزنگاری و دسترسی فایلها را تنظیم کنید
رمزنگاری و دسترسی فایلها را تنظیم کنید. پس از اجرا، وضعیت سرویس و لاگها را کنترل کنید؛ تغییر بدون بررسی میتواند خطای پنهان ایجاد کند.
گام 6 — بازیابی را روی محیط تست انجام دهید
بازیابی را روی محیط تست انجام دهید. اگر روی چند سرور کار میکنید، این مورد را یکبار روی محیط تست اجرا و سپس روی تولید اعمال کنید.
نمونه دستورها
mysqldump --single-transaction DB > db-$(date +%F).sql
tar czf site-$(date +%F).tar.gz /var/www/html
sha256sum site-*.tar.gzنکات امنیتی و بهینهسازی
- لاگها را پایش کنید تا رفتار غیرعادی زودتر شناسایی شود.
- تغییرات را مستند کنید تا در آینده یا هنگام تحویل به تیم دیگر قابل پیگیری باشد.
- رمزها و کلیدها را در فایلهای محافظتشده نگه دارید و هرگز در کد یا مخزن عمومی قرار ندهید.
خطاهای رایج و راهحل
- خطای اتصال شبکه را با dig، ping و ss بررسی کنید؛ ممکن است فایروال یا DNS مقصر باشد.
- اگر سرویس بالا نیامد، ابتدا journalctl و فایل خطای همان سرویس را بخوانید.
- خطای اتصال شبکه را با dig، ping و ss بررسی کنید؛ ممکن است فایروال یا DNS مقصر باشد.
سؤالات متداول
هر چند وقت بکاپ بگیرم؟
برای دیتابیسهای فعال روزانه یا حتی ساعتی، فایلها روزانه و نسخه ماهانه بلندمدت.
چطور از صحت بکاپ مطمئن شوم؟
روی محیط تست بازیابی کنید و تعداد جداول و حجم را با مبدأ مقایسه کنید.
میلاد سرور پلنهای اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آیپی اختصاصی و قیمت شفاف ارائه میکند. برای مقایسه همه کشورها فهرست کامل سرورهای بینالملل را ببینید.
جمعبندی
این آموزش را یکبار روی محیط تست تمرین کنید تا در تولید با اطمینان بیشتری اجرا شود.