Tự động sao lưu cơ sở dữ liệu lên Object Storage tại X-OR Cloud

Hướng dẫn triển khai backup tool sử dụng tại X-OR Cloud và X-OR Storage

Mô hình triển khai

Yêu cầu

  • Network của các host phải được truy cập với nhau

  • vCPU / vRAM : 2c / 4G ( Tùy thuộc vào dung lượng database )

  • Host yêu cầu cài đặt Mysql , Mongodb

  • Có cài đặt NodeJS ( version > 14 )

  • OS của host triển khai : Ubuntu 20

Hướng dẫn sử dụng

  • Cài đặt NodeJS

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

apt install nodejs -y
  • Tải project về từ git của X-OR Cloud

git clone https://github.com/X-OR-Cloud/xor-backup-db-s3-destination.git
  • Cài đặt các package yêu cầu

npm install -g pm2
  • Khai báo env

cd xor-backup-db-s3-destination
vim .env
  • S3_ACCESS_KEY và S3_SECRET_KEY lấy tại : https://data.x-or.cloud

  • TELEGRAM_BOT_TOKEN, TELEGRAM_ROOM_ID để gửi thông báo về Telegram mỗi khi backup thành công ( Không yêu cầu )

  • TIME_START_BACKUP_MYSQL, TIME_START_BACKUP_MONGODB là thời gian backup, sử dụng time của cron ( minute - hour - day(mon) - month - day(week) )

APP_NAME="XOR Database Backup S3 Destination"

API_PORT=8000

S3_HOST="https://s3.xorcloud.net"
S3_ACCESS_KEY=""
S3_SECRET_KEY=""
S3_REGION=default
S3_BUCKET=""

TELEGRAM_BOT_TOKEN=
TELEGRAM_ROOM_ID=

MYSQL_HOST=
MYSQL_PORT=
MYSQL_USERNAME=
MYSQL_PASSWORD=
TIME_START_BACKUP_MYSQL="0 0 * * *"

MONGODB_HOST=
MONGODB_PORT=
MONGODB_USERNAME=
MONGODB_PASSWORD=
TIME_START_BACKUP_MONGODB="0 0 * * *"
  • Khởi dạy dự án

npm install
pm2 start "npm start" --name backup
  • Xem logs khi chạy

tail -f ./logs.txt

Last updated