راهنمای بکاپ و اسنپ‌شات VPS

نویسنده تیم مهندسی ONIE · به‌روزرسانی: 21 آبان 1405 · زمان مطالعه: 3 دقیقه

یک سرور ممکن است به دلیل به‌روزرسانی نادرست، اشتباه انسانی، بدافزار یا مشکل سخت‌افزاری از کار بیفتد. یک برنامه خوب، اسنپ‌شات، بکاپ و بازیابی آزمایش‌شده را با هم ترکیب می‌کند. در Cloud Servers در هوشی مین از ONIE، اسنپ‌شات و بکاپ پشتیبانی می‌شود و می‌توانید برای نگهداری داده‌ها، Block Storage اضافه کنید.

اسنپ‌شات در مقابل بکاپ

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

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

قانون ۳-۲-۱

از داده‌های مهم ۳ نسخه نگه دارید، روی ۲ نوع ذخیره‌سازی متفاوت، و ۱ نسخه را در جای دیگری قرار دهید. اسنپ‌شات روی همان سرور به‌تنهایی کافی نیست.

پشتیبان‌گیری از فایل‌ها

rsync فقط تغییرات را کپی می‌کند:

rsync -aH --delete /var/www/ backup@backup-host:/srv/backups/www/

restic بکاپ‌های رمزگذاری‌شده و بدون تکرار را به چند مقصد ارسال می‌کند:

sudo apt install -y restic
restic -r sftp:backup@backup-host:/srv/restic init
restic -r sftp:backup@backup-host:/srv/restic backup /var/www /etc
restic -r sftp:backup@backup-host:/srv/restic forget --keep-daily 7 --keep-weekly 4 --prune

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

به جای کپی کردن فایل‌های زنده پایگاه داده، با استفاده از dump از آن نسخه بگیرید:

mysqldump --single-transaction --routines -u root wordpress | gzip > /var/backups/wordpress-$(date +%F).sql.gz

برای PostgreSQL از pg_dump استفاده کنید.

خودکارسازی

بکاپ‌ها را با cron یا systemd timer اجرا کنید و یک سیاست نگهداری داشته باشید تا نسخه‌های قدیمی حذف شوند:

sudo crontab -e
# every day at 02:30
30 2 * * * /usr/local/bin/backup.sh

آزمایش بازیابی

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

قبل از تغییرات بزرگ

یک اسنپ‌شات بگیرید، تغییر را اعمال کنید، آن را آزمایش کنید و وقتی مطمئن شدید، اسنپ‌شات را حذف کنید. این روش با راه‌اندازی امن SSH هماهنگ است و همین عادت هنگام ارتقای سایت WordPress نیز کمک می‌کند.

پرسش‌های متداول

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

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

آیا اسنپ‌شات‌ها هزینه دارند؟

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

بکاپ‌ها را کجا نگهداری کنم؟

فقط روی همان سرور نگه ندارید. از مکان یا ارائه‌دهنده دیگری استفاده کنید تا با یک خرابی، همه نسخه‌ها از بین نروند.

منابع و مطالعه بیشتر

راهنماهای بیشتر VPS