Bạn cần tìm gì?
Hướng Dẫn Backup MYSQL Với Fstorage
Cài đặt AWS CLI xem hướng dẫn tại link (https://docs.fstorage.vn/books/huong-dan-ket-noi-linux-voi-fstorage/page/huong-dan-ket-noi-fstorage-voi-aws-cli)
Tạo file Script backup Mysql
vi /backup/scripts/s3-backup-mysql.sh
DATE_FORMAT=$(date +"%Y-%m-%d")
# MySQL server credentials
MYSQL_HOST="localhost"
MYSQL_PORT="3306"
MYSQL_USER="user"
MYSQL_PASSWORD="password"
# Path to local backup directory
LOCAL_BACKUP_DIR="/backup/dbbackup"
# Set s3 bucket name and directory path
S3_BUCKET_NAME="s3-bucket-name"
S3_BUCKET_PATH="backups/db-backup"
# Number of days to store local backup files
BACKUP_RETAIN_DAYS=30
# Use a single database or space separated database's names
DATABASES="DB1 DB2 DB3"
##### Do not change below this line
mkdir -p ${LOCAL_BACKUP_DIR}/${DATE_FORMAT}
LOCAL_DIR=${LOCAL_BACKUP_DIR}/${DATE_FORMAT}
REMOTE_DIR=s3://${S3_BUCKET_NAME}/${S3_BUCKET_PATH}
for db in $DATABASES; do
mysqldump
-h ${MYSQL_HOST}
-P ${MYSQL_PORT}
-u ${MYSQL_USER}
-p${MYSQL_PASSWORD}
--single-transaction ${db} | gzip -9 > ${LOCAL_DIR}/${db}-${DATE_FORMAT}.sql.gz
aws s3 cp ${LOCAL_DIR}/${db}-${DATE_FORMAT}.sql.gz ${REMOTE_DIR}/${DATE_FORMAT}/
done
DBDELDATE=`date +"${DATE_FORMAT}" --date="${BACKUP_RETAIN_DAYS} days ago"`
if [ ! -z ${LOCAL_BACKUP_DIR} ]; then
cd ${LOCAL_BACKUP_DIR}
if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
rm -rf ${DBDELDATE}
fi
fi
## Script ends here
Thay đổi các Path theo nhu cầu của bạn.
Phần quyền cho file script
chmod +x s3-backup-mysql.sh
Set lịch để tự động chạy script
Gõ lệnh
Crontab -e
Copy & Paste vào crontab
0 23 * * * /backup/scripts/s3-backup-mysql.sh > /dev/null 2>&1
(Thay đổi thời gian theo mong muốn của bạn)