Sao lưu cơ sở dữ liệu cho MySQL và chuyển sang Amazon S3

Bạn có thể tự động tạo bản sao lưu và lưu trữ vào Amazon S3 trong vòng vài phút. Dưới đây là những gạch đầu dòng ngắn gọn về những gì bạn sẽ học trong phần này của bài viết:

  • Tạo tập lệnh tự động tạo thư mục sao lưu MySQL
  • Tải lên/đồng bộ hóa các bản sao lưu với Amazon S3
  • Cron sẽ chạy lệnh này hàng ngày (để sao lưu)

Tạo tập lệnh Shell sẽ kết xuất cơ sở dữ liệu MySQL

cd ~
mkdir scripts
cd scripts
nano db_backup.sh

Sao chép và dán tập lệnh bên dưới vào nó

#!/bin/bash
DIR=`date +%d-%m-%y`
DEST=~/db_backups/$DIR
mkdir $DEST

mysqldump -h mysql_hostname -u mysql_user  -p"mysql_password" database_name > dbbackup.sql

Bây giờ chmod tập lệnh để cho phép nó thực thi

chmod +x ~/scripts/db_backup.sh

Tạo tập lệnh shell đồng bộ hóa các bản sao lưu với Amazon S3

nano db_sync.sh

Sao chép và dán tập lệnh bên dưới vào nó

#!/bin/bash
/usr/local/bin/aws s3 sync ~/db_backups s3://my-bucket-name

Bây giờ hãy chmod tập lệnh để cho phép nó thực thi

chmod +x ~/scripts/db_sync.sh

Tạo một thư mục trong Amazon S3 cho các kết xuất cơ sở dữ liệu

cd ~
mkdir db_backups

Định cấu hình AWS CLI

Trước khi cài đặt AWS CLI, bạn cần cài đặt python-pi. Nhập các lệnh sau:

apt-get update
apt-get -y install python-pip
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"

Cài đặt AWS CLI

Gõ lệnh sau:

pip install awscli

Cách thiết lập khóa & bí mật AWS

Cài đặt tệp cấu hình và thông tin xác thực

cd ~
mkdir .aws
nano ~/.aws/config

Dán vào key_id secret_access_keynhư hình dưới đây

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Cách thiết lập Cron (để tự động hóa quy trình)

crontab -e

Dán các lệnh bên dưới vào dưới cùng để tự động hóa quy trình

0 0 * * * ~/scripts/db_backup.sh # take a backup every midnight
0 2 * * * ~/scripts/db_sync.sh # upload the backup at 2am

Bằng cách này, tập lệnh sao lưu sẽ chạy và đồng bộ hóa với Amazon S3 hàng ngày.

Sự kết luận

Do đó, bằng cách sử dụng các tập lệnh này, bạn có thể đạt được 3 mục tiêu:

  1. Tạo bản sao lưu cơ sở dữ liệu thông qua tập lệnh shell
  2. tải kết xuất lên Amazon S3
  3. tự động hóa quá trình này bằng Cron

Leave a Reply