پرش به مطلب اصلی

بکاپ


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

اسنپ‌شات در پنل​

مسیر: سرور ابری ← نام سرور ← اسنپ‌شات. این بخش برای کاربران با دسترسی فنی و سرورهایی که زیرساخت آن‌ها اسنپ‌شات را پشتیبانی می‌کند در دسترس است. نبودن این گزینه لزوماً خطا نیست؛ مشخصات امکانات سرور و نقش خود را بررسی کنید.

ساخت اسنپ‌شات دستی​

  1. پیش از تغییر مهم در سرور، زبانهٔ اسنپ‌شات را باز کنید.
  2. تعداد و حجم فعلی اسنپ‌شات‌ها و سقف مجاز را بررسی کنید.
  3. در بخش اسنپ‌شات دستی، روی ایجاد اسنپ‌شات جدید کلیک و درخواست را تأیید کنید.
  4. منتظر پایان عملیات بمانید و وجود نسخهٔ جدید را در فهرست بررسی کنید.

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

فعال‌کردن اسنپ‌شات روزانه​

  1. در همین صفحه، اسنپ‌شات روزانه را فعال کنید.
  2. تعداد روزهای نگهداری را تعیین کنید.
  3. ساعت اسنپ‌شات را از گزینه‌های صفحه انتخاب کنید.
  4. حجم تخمینی و حداکثر مجاز را بررسی کنید و ذخیره تنظیمات را بزنید.
  5. پس از نوبت اجرای بعدی، فهرست نسخه‌ها را بررسی کنید.

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

بازیابی و حذف​

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

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

بکاپ فایل‌ها در سیستم‌عامل​

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

انواع بکاپ​

روش‌های مختلفی برای بکاپ‌گیری وجود دارند که هر کدام هدف و ابزار متفاوتی دارند. به طور کلی بکاپ‌گیری به یکی از این اشکال انجام می‌شود:

بکاپ‌گیری کامل​

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

بکاپ کامل معمولاً در این موارد استفاده می‌شود:

  • هنگام راه‌اندازی اولیه یک سرویس مهم
  • پیش از اعمال تغییرات زیرساختی (Upgrade، Update، تغییر در پیکربندی‌های حساس)
  • زمانی که نیاز به یک نسخه قابل بازگشت بدون وابستگی به بکاپ‌های قبلی دارید

مزایای بکاپ کامل:

  • بازیابی سریع‌تر و ساده‌تر
  • عدم نیاز به وابستگی به بکاپ‌های قبلی
  • مناسب برای سناریوهای Disaster Recovery

معایب:

  • حجم بالا
  • زمان طولانی‌تر برای تهیه بکاپ

نمونه ابزارها:

  • tar
  • rsync
  • اسنپ‌شات‌های LVM، Btrfs، ZFS
  • ایمیج‌گیری کامل دیسک با dd یا Clonezilla

در اینجا یک مثال از بکاپ‌گیری با استفاده از tar را مشاهده می‌کنید:

tar -cvpzf /backup/backup-$(date +%F).tar.gz /some-directory

در این مثال از دایرکتوری /some-directory یک فایل آرشیو در مسیر /backup ایجاد می‌شود. شما می‌توانید فایل بکاپ را در جایی امن (خارج از این سرور) نگهداری کنید تا در زمان حادثه و نیاز به راحتی بتوانید به آن دسترسی داشته باشید.

با استفاده از دستور زیر نیز می‌توانید، بکاپ را ریکاوری کنید:

sudo tar -xvpzf /backup/backup-20XX-XX-XX.tar.gz -C /

بکاپ‌گیری افزایشی​

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

بکاپ افزایشی معمولاً در این سناریوها کاربرد دارد:

  • بکاپ روزانه یا ساعتی
  • محیط‌هایی که تغییرات مداوم وجود دارد ولی فضای ذخیره محدود است
  • سیستم‌هایی که نیاز به نگهداری نسخه‌های متعدد با مصرف کم منابع دارند

مزایای بکاپ افزایشی:

  • سرعت بالا
  • مصرف کمتر فضا
  • امکان نگهداری تعداد بیشتری نسخه در طول زمان

معایب:

  • بازیابی ممکن است نیازمند چند نسخه پشت سرهم باشد
  • آسیب‌دیدن یکی از نسخه‌ها ممکن است بازیابی را مشکل کند (بسته به ابزار)

نمونه ابزارهای بکاپ افزایشی:

  • rsync با گزینه‌های مخصوص آرشیو
  • BorgBackup (دارای Deduplication و Encryption)
  • Restic (مناسب برای بکاپ ابری و ریموت)
  • ابزارهای Snapshot در فایل‌سیستم‌هایی مثل Btrfs و ZFS

در اینجا یک مثال از بکاپ‌گیری افزایشی با استفاده از Borg را مشاهده می‌کنید:

ابتدا باید Borg را نصب کنید:

sudo apt install borgbackup

سپس باید یک مسیر برای نگهداری بکاپ‌ها مشخض کنید:

export BORG_REPO='/mnt/backup/borg_repo'

و در نهایت Borg را فعال کنید:

borg init --encryption=repokey-blake2

حال باید اولین نسخه بکاپ که کامل می‌باشد را ایجاد کنید:

# کلید رمز اگر رمزنگاری فعال باشد
export BORG_PASSPHRASE='YOUR_SUPER_SECRET_PASSPHRASE'

# مشخص کردن مسیر مبدا و مسیرهایی که نیاز به بکاپ ندارند
SOURCE_DIR='/some-directory'
EXCLUDES=(
'--exclude=/some-directory/exclude'
)

# ایجاد اولین نسخه بکاپ (نام را به دلخواه مشخص کنید)
borg create --stats --progress \
::'backup-{now:%Y-%m-%d_%H:%M:%S}' \
$SOURCE_DIR \
"${EXCLUDES[@]}"

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

برای ریکاوری بکاپ نیز می‌توانید با دستور زیر ابتدا نسخه دلخواهتان را پیدا کنید:

borg list $BORG_REPO

و سپس با دستور زیر آن را ریکاوری کنید:

borg extract --progress $BORG_REPO::'backup-20XX-XX-XX_03:00:00' --destination /tmp/restore_dir

خودکارسازی بکاپ‌گیری​

برای خودکارسازی فرایند بکاپ‌گیری می‌توانید از cron job استفاده کنید. برای اینکار می‌توانید از دستور زیر استفاده کنید:

sudo crontab -e

سپس در آخرین خط ویرایشگر بازشده cron خود را اضافه کنید.

نگهداری بکاپ‌ها​

برای نگهداری بکاپ‌ها استراتژی‌های مختلفی را می‌توان متصور شد. امن‌ترین روش نگهداری بکاپ‌ها به صورت off-site می‌باشد. که می‌تواند شامل موارد زیر باشد:

  • فضای ذخیره‌سازی ابری:
    • Google Drive
    • Dropbox
    • AWS S3
  • دیسک فیزیکی

چابکان برای نگهداری بکاپ‌ها راهکار ذخیره‌سازی ابری را به شما پیشنهاد می‌دهد.