首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何每天自动定期地将数据库备份文件上传到AWS S3?

问如何每天自动定期地将数据库备份文件上传到AWS S3?
EN

Stack Overflow用户
提问于 2022-07-20 03:56:04
回答 1查看 48关注 0票数 0

我们有一个ERP系统,它使用SQL Server DB,每天在Windows PC上生成DB备份文件。

我们的经理希望认识到,一天中的数据库备份文件可以每天自动定期地上传和保存到AWS S3桶中。我们已经注册了一个AWS帐户,并专门创建了一个桶。考虑到AWS S3的存储成本,预计只应将最新的十个DB备份文件保存在存储桶中。

我们似乎需要AWS、S3、CLI和一些脚本编码来实现这一需求。它是用.bat代码实现,还是用Windows脚本代码实现?如何检查S3桶中是否已经有10个DB备份文件?如果是,如何在上传最新版本之前删除最老的?

有类似的示例代码吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-07-20 04:08:08

您可以为此创建一个cron作业。此外,您还需要安装aws cli。如果您将DB托管在linux中,那么以下代码可能会对您有所帮助:

代码语言:javascript
复制
#!/bin/bash

NOW=$(date +"%Y-%m-%d")
NOW_TIME=$(date +"%Y-%m-%d %T %p")
NOW_MONTH=$(date +"%Y-%m")

MYSQL_HOST="localhost"
MYSQL_PORT="3306"

MYSQL_DATABASE="wordpress"
MYSQL_USER="user"
MYSQL_PASSWORD="password"

BACKUP_DIR="/home/mkyong/backup/$NOW_MONTH"
BACKUP_FULL_PATH="$BACKUP_DIR/$MYSQL_DATABASE-$NOW.sql.gz"

AMAZON_S3_BUCKET="s3://mkyong/backup/linode/mysql/$NOW_MONTH/"
AMAZON_S3_BIN="/home/mkyong/.local/bin/aws"

#################################################################

mkdir -p ${BACKUP_DIR}

backup_mysql(){
       mysqldump -h ${MYSQL_HOST} \
         -P ${MYSQL_PORT} \
         -u ${MYSQL_USER} \
         -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} | gzip > ${BACKUP_FULL_PATH}
}

upload_s3(){
      ${AMAZON_S3_BIN} s3 cp ${BACKUP_FULL_PATH} ${AMAZON_S3_BUCKET}
}

backup_mysql
upload_s3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73045827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档