备份到S3
s3-backups的Python项目详细描述
概述
s3备份提供了简单的脚本,系统管理员可以使用这些脚本进行备份 来自PostgreSQL、MySQL、Redis等程序的数据。
安装
要安装S3备份:
$ sudo pip install s3-backups
用法
使用cron
将s3备份设置为自动运行PostgreSQL
将以下内容添加到文件/etc/cron.d/postgres_to_s3,然后更改命令参数,以便命令使用正确的aws凭据、备份存储桶和正确的基s3 key/base文件夹。
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
重新发现
将以下内容添加到文件/etc/cron.d/redis_to_s3,然后更改命令参数,以便命令使用正确的aws凭据、备份存储桶和正确的基s3 key/base文件夹。
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/base文件夹。
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
手动运行备份和存档
运行archive命令时,s3 backups将备份移动到 year/month子文件夹(技术上是一个s3密钥),用于计划的存档 保存和删除所有其他档案。S3备份,将使用默认值 除非你告诉它使用不同的时间表 --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
贡献
如果你想参与,创建一个问题,让一个关于 要添加的功能。计划完成后,将存储库分叉并 在新分支上创建修复程序或功能。完成后,拉一下 请求将更改拉入。