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) )
Khi tạo bucket tại X-OR Storage , nên chọn Object lock
Chỉ nên sử dụng user của database có quyền readOnly
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