跳转到主要内容

将数据备份到S3

项目描述

https://pypip.in/v/s3-backups/badge.png Build Status

概述

S3 Backups 提供易于使用的脚本,系统管理员可以使用这些脚本从 PostgreSQL、MySQL、Redis 等程序中备份数据。

安装

要安装 s3-backups

$ sudo pip install s3-backups

用法

使用 Cron 自动运行 S3 备份

PostgreSQL

将以下内容添加到文件 /etc/cron.d/postgres_to_s3 中,然后更改命令参数,以便命令使用您正确的 AWS 凭据、备份存储桶和正确的基于 S3 的 Key/基本文件夹。

0 */1 * * * postgres /usr/local/bin/postgres_to_s3.py --AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' --AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' --S3_BUCKET_NAME='my-backup-bucket' --S3_KEY_NAME='postgres/my-awesome-server' --backup --archive

Redis

将以下内容添加到文件 /etc/cron.d/redis_to_s3 中,然后更改命令参数,以便命令使用您正确的 AWS 凭据、备份存储桶和正确的基于 S3 的 Key/基本文件夹。

0 */1 * * * root redis_to_s3.py --AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' --AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' --S3_BUCKET_NAME='my-backup-bucket' --S3_KEY_NAME='redis/my-awesome-server' --backup --archive

MySQL

将以下内容添加到文件 /etc/cron.d/mysql_to_s3 中,然后更改命令参数,以便命令使用您正确的 AWS 凭据、备份存储桶和正确的基于 S3 的 Key/基本文件夹。

0 */1 * * * root mysql_to_s3.py --AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' --AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' --S3_BUCKET_NAME='my-backup-bucket' --S3_KEY_NAME='redis/my-awesome-server' --backup --archive

手动运行备份和存档

在运行存档命令时,S3 Backups 将备份移动到 年/月 子文件夹(技术上是一个 S3 Key)中,以存档其计划保留的存档,并删除所有其他存档。S3 Backups 将使用默认计划,除非您使用 --schedule_module 参数指定不同的计划。

默认存档计划将 …

  • 保留所有存档 7 天

  • 每隔一天保留午夜备份 30 天

  • 永久保留每月的第一天

  • 删除所有未计划保留的文件

要备份 PostgreSQL,请运行以下命令

$ postgres_to_s3.py \
--AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' \
--AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' \
--S3_BUCKET_NAME='my-backup-bucket' \
--S3_KEY_NAME='postgres/my-awesome-server' \
--backup

要存档 PostgreSQL 备份,请运行以下命令

$ postgres_to_s3.py \
--AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' \
--AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' \
--S3_BUCKET_NAME='my-backup-bucket' \
--S3_KEY_NAME='postgres/my-awesome-server' \
--archive

要备份 Redis,请运行以下命令

$ redis_to_s3.py \
--AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' \
--AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' \
--S3_BUCKET_NAME='my-backup-bucket' \
--S3_KEY_NAME='redis/my-awesome-server' --backup

要存档 Redis,请运行以下命令

$ redis_to_s3.py \
--AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' \
--AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' \
--S3_BUCKET_NAME='my-backup-bucket' \
--S3_KEY_NAME='redis/my-awesome-server' --archive

要备份 MySQL,请运行以下命令

$ mysql_to_s3.py \
--AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' \
--AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' \
--S3_BUCKET_NAME='my-backup-bucket' \
--S3_KEY_NAME='redis/my-awesome-server' --backup

要存档 MySQL,请运行以下命令

$ mysql_to_s3.py \
--AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' \
--AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxx' \
--S3_BUCKET_NAME='my-backup-bucket' \
--S3_KEY_NAME='redis/my-awesome-server' --archive

贡献

如果您想贡献,请创建一个议题来开始关于您想添加的功能的对话。在制定计划后,然后从仓库分叉并创建新的分支来修复或添加功能。完成之后,提交一个拉取请求来合并您的更改。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分布

s3-backups-0.1.0.tar.gz (7.8 kB 查看哈希值)

上传时间 源代码

由以下支持