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

به‌کمک کانتینر ابری آروان‌کلاد می‌توانید به‌سادگی و در مدت زمانی کوتاه GoBackup را راه‌اندازی کرده و از داده‌های دیتابیس‌تان بکاپ بگیرید.

پیش‌نیازها

در این راهنما GoBackup را در کانتینر ابری آروان نصب می‌کنیم و آن را به یک دیتابیس MySQL در سرور، دیتابیس یا کانتینر ابری آروان متصل می‌کنیم. هم‌چنین خروجی بکاپ‌ را به یک صندوقچه در فضای ابری آروان ارسال می‌کنیم. بنابراین، پیش از شروع لازم است:

راه‌اندازی GoBackup در کانتینر ابری آروان‌کلاد

از پنل کاربری آروان‌کلاد وارد بخش کانتینر ابری شده و روی دکمه‌ی «ساخت اپلیکیشن» کلیک کنید. از قسمت ایمیج کانتینر، داکر ایمیج را انتخاب و نام و تگ ایمیج را به‌شکل زیر وارد کنید:

  • نام ایمیج: huacnlee/gobackup
  • تگ: latest

با کلیک روی دکمه‌ی «شروع» فرآیند پیکربندی اپلیکیشن آغاز می‌شود. در ابتدا باید نام، پورت، پروژه و ناحیه‌ی اپلیکیشن را تعیین کنید.

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

تنظیمات شبکه GoBackup

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

تنظیمات دیسک GoBackup

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

  • /root/gobackup
  • /etc/gobackup

کانفیگ‌فایل GoBackup

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

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

/etc/gobackup/gobackup.yml

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

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

کانفیگ‌مپ اتصال به دیتابیس MySQL در کانتینر ابری آروان

اگر دیتابیس‌تان در کانتینر ابری آروان‌کلاد و همان پروژه‌ای که GoBackup را ساخته‌اید قرار دارد می‌توانید از فایل زیر استفاده کنید:

models:
my_app:
  compress_with:
    type: tgz
  storages:
    s3:
      type: s3
      keep: 1
      bucket: [bucket-name]
      region: [region] #ir-thr-at1 or ir-tbz-sh1
      endpoint: s3.[region].arvanstorage.ir
      access_key_id: [access-key-id]
      secret_access_key: [secret-key-id]
      force_path_style: true
      storage_class: ""
  databases:
    my_app:
      database: [database-name]
      type: mysql
      host: [mysql-app-name]
      port: 3306
      username: [username]
      password: [password]
  archive:
    includes:
      - /var/www/my_app/uploads
      - /var/www/my_app/shared/ssl

در این فایل باید مقادیر را به‌شکل زیر جایگزین کنید:

  • [bucket-name]: نام صندوقچه‌ای که می‌خواهید بکاپ‌ها در آن ذخیره شوند
  • [region]: منطقه‌ی صندوقچه در فضای ابری که می‌تواند یکی از مقادیر ir-thr-at1 برای سیمین و ir-tbz-sh1 برای شهریار باشد.
  • [access-key-id]: مقدار Access Key که می‌توانید از بخش مدیریت دسترسی‌ فضای ابری دریافت کنید.
  • [secret-key-id]: مقدار Secret Key که می‌توانید از بخش مدیریت دسترسی‌ فضای ابری دریافت کنید.
  • [database-name]: نام دیتابیسی که می‌خواهید از آن بکاپ گرفته شود.
  • [mysql-app-name]: نام اپلیکیشن MySQL که در کانتینر ساخته‌اید.
  • [username]: نام کاربری برای اتصال به دیتابیس
  • [password]: رمز عبور برای اتصال به دیتابیس

کانفیگ‌مپ اتصال به دیتابیس مدیریت‌شده MySQL آروان

اگر از MySQL مدیریت‌شده آروان استفاده می‌کنید می‌توانید با استفاده از فایل زیر GoBackup را به آن متصل کنید:

models:
my_app:
  compress_with:
    type: tgz
  storages:
    s3:
      type: s3
      keep: 1
      bucket: [bucket-name]
      region: [region] #ir-thr-at1 or ir-tbz-sh1
      endpoint: s3.[region].arvanstorage.ir
      access_key_id: [access-key-id]
      secret_access_key: [secret-key-id]
      force_path_style: true
      storage_class: ""
  databases:
    my_app:
      database: [database-name]
      type: mysql
      host: [host]
      port: 3306
      username: [username]
      password: [password]
  archive:
    includes:
      - /var/www/my_app/uploads
      - /var/www/my_app/shared/ssl

در این فایل باید مقادیر را به‌شکل زیر جایگزین کنید:

  • [bucket-name]: نام صندوقچه‌ای که می‌خواهید بکاپ‌ها در آن ذخیره شوند
  • [region]: منطقه‌ی صندوقچه در فضای ابری که می‌تواند یکی از مقادیر ir-thr-at1 برای سیمین و ir-tbz-sh1 برای شهریار باشد.
  • [access-key-id]: مقدار Access Key که می‌توانید از بخش مدیریت دسترسی‌ فضای ابری دریافت کنید.
  • [secret-key-id]: مقدار Secret Key که می‌توانید از بخش مدیریت دسترسی‌ فضای ابری دریافت کنید.
  • [database-name]: نام دیتابیسی که می‌خواهید از آن بکاپ گرفته شود.
  • [host]: مقدار host دیتابیس ابری را در این بخش قرار دهید. ​​
    برای دریافت آن، از بخش «همه‌ی دیتابیس‌ها» در منوی دیتابیس ابری پنل کاربری آروان، روی کلاستری که می‌خواهید از آن بکاپ بگیرید کلیک کنید. در تب نمای کلی می‌‌توانید مقدار host را دریافت کنید.
  • [username]: نام کاربری برای اتصال به دیتابیس
  • [password]: رمز عبور برای اتصال به دیتابیس

کانفیگ‌مپ اتصال به دیتابیس MySQL در سرور ابری آروان

اگر دیتابیس‌تان را بر بستر سرور ابری آروان‌کلاد یا هر سرور دیگری راه‌اندازی کرده‌اید می‌توانید از فایل کانفیگ زیر برای ارتباط GoBackup و دیتابیس استفاده کنید:

models:
my_app:
  compress_with:
    type: tgz
  storages:
    s3:
      type: s3
      keep: 1
      bucket: [bucket-name]
      region: [region] #ir-thr-at1 or ir-tbz-sh1
      endpoint: s3.[region].arvanstorage.ir
      access_key_id: [access-key-id]
      secret_access_key: [secret-key-id]
      force_path_style: true
      storage_class: ""
  databases:
    my_app:
      database: [database-name]
      type: mysql
      host: [ip]
      port: 3306
      username: [username]
      password: [password]
  archive:
    includes:
      - /var/www/my_app/uploads
      - /var/www/my_app/shared/ssl

در این فایل باید مقادیر را به‌شکل زیر جایگزین کنید:

  • [bucket-name]: نام صندوقچه‌ای که می‌خواهید بکاپ‌ها در آن ذخیره شوند
  • [region]: منطقه‌ی صندوقچه در فضای ابری که می‌تواند یکی از مقادیر ir-thr-at1 برای سیمین و ir-tbz-sh1 برای شهریار باشد.
  • [access-key-id]: مقدار Access Key که می‌توانید از بخش مدیریت دسترسی‌ فضای ابری دریافت کنید.
  • [secret-key-id]: مقدار Secret Key که می‌توانید از بخش مدیریت دسترسی‌ فضای ابری دریافت کنید.
  • [database-name]: نام دیتابیسی که می‌خواهید از آن بکاپ گرفته شود.
  • [ip]: مقدار IP سرور را در این بخش قرار دهید.
  • [username]: نام کاربری برای اتصال به دیتابیس
  • [password]: رمز عبور برای اتصال به دیتابیس

 

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

تعیین منابع GoBackup

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

اگر تنظیمات مورد تاییدتان بود روی ایجاد کلیک کنید تا اپلیکیشن ساخته شود.

استفاده از GoBackup

برای کار با GoBackup می‌توانید هم از ترمینال و هم از رابط گرافیکی تحت وب آن استفاده کنید.

استفاده از ترمینال

از طریق کنسول کانتینر ابری آروان یا Kubectl به ترمینال متصل شوید. سپس دستور زیر را اجرا کنید:

gobackup perform

پس از اتمام اجرای این دستور می‌توانید خروجی بکاپ دیتابیس‌تان را در صندوقچه‌‌تان مشاهده و دریافت کنید.

استفاده از رابط گرافیکی تحت وب

برای اتصال به رابط گرافیکی GoBackup باید برای اپلیکیشن دامنه یا IP اختصاصی تنظیم کرده باشید. راهنماهای اتصال دامنه و IP اختصاصی به شما در این مسیر کمک می‌کند.

توجه داشته باشید برای اتصال به رابط تحت وب GoBackup باید پورت ۲۷۰۳ آن را باز کنید.

روی دکمه‌ی Perform Backup کلیک کنید تا پس از اتمام اجرای این دستور می‌توانید خروجی بکاپ دیتابیس‌تان را در صندوقچه‌‌تان مشاهده و دریافت کنید.