将数据备份到S3
项目描述
概述
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e0bca1da60245635ae2a19c1810021e6587f7e34eb9ffec42f1e78b509e3919f |
|
MD5 | 609941bccc66ecab8169e0c941632749 |
|
BLAKE2b-256 | 2b8bb2988b537cad1bfb45cc1fd71032d6b395b218e117a33124794b37eb77b8 |