ZFS 快照到 S3 上传器。
项目描述
ZFS 上传器
ZFS Uploader 是一个简单的程序,用于将完整和增量 ZFS 快照备份到 Amazon S3。它支持基于 CRON 的调度,并且可以自动删除旧的快照和备份。有用的 CLI ( zfsup) 可让您运行作业、还原和列出备份。
特征
- 备份/恢复 ZFS 文件系统
- 创建增量和完整备份
- 自动删除旧快照和备份
- 使用任何 S3 存储类类型
- 有用的命令行界面
要求
- Python 3.6 或更高版本
- ZFS 0.8.1 或更高版本(在早期版本上未经测试)
安装说明
命令应以 root 身份运行。
- 创建目录和虚拟环境
mkdir /etc/zfs_uploader
cd /etc/zfs_uploader
virtualenv --python python3 env
- 安装 ZFS 上传器
source env/bin/activate
pip install zfs_uploader
ln -sf /etc/zfs_uploader/env/bin/zfsup /usr/local/sbin/zfsup
- 写入配置文件
请参阅下面的配置文件部分以获取有用的配置示例。
vi config.cfg
chmod 600 config.cfg
- 启动服务
cp zfs_uploader.service /etc/systemd/system/zfs_uploader.service
sudo systemctl enable --now zfs_uploader
- 列出备份
zfsup list
配置文件
该程序从配置文件中读取备份作业参数。可以设置默认参数,然后将其应用于所有备份作业。可以在一个文件中设置多个备份作业。
参数
桶名:str
S3 存储桶名称。
access_key : 字符串
S3 访问密钥。
秘密密钥:str
S3 密钥。
文件系统:str
ZFS 文件系统。
地区:str,默认:us-east-1
S3 区域。
端点:str,可选
替代服务的 S3 端点
cron :str,可选
Cron 时间表。例子:* 0 * * *
max_snapshots:整数,可选
最大快照数。
max_backups :int,可选
完整备份和增量备份的最大数量。
max_incremental_backups_per_full :int,可选
每个完整备份的最大增量备份数。
storage_class:str,默认值:标准
S3 存储类。
max_multipart_parts :int,默认值:10000
在多部分 S3 上传中使用的最大部分数。
例子
多个完整备份
[DEFAULT]
bucket_name = BUCKET_NAME
region = us-east-1
access_key = ACCESS_KEY
secret_key = SECRET_KEY
storage_class = STANDARD
[pool/filesystem]
cron = 0 2 * * *
max_snapshots = 7
max_incremental_backups_per_full = 6
max_backups = 7
文件系统在每天 02:00 进行备份。仅保留最近的 7 个快照。一旦备份超过 7 个,将删除最旧的没有依赖项的备份。
Backblaze B2 S3 兼容端点,完整备份
[DEFAULT]
bucket_name = BUCKET_NAME
region = eu-central-003
access_key = ACCESS_KEY
secret_key = SECRET_KEY
storage_class = STANDARD
endpoint = https://s3.eu-central-003.backblazeb2.com
[pool/filesystem]
cron = 0 2 * * *
max_snapshots = 7
max_incremental_backups_per_full = 6
max_backups = 7
结构
完整备份 (f)、增量备份 (i)
- F
- 菲
- fii
- fiii
- fiii
- fiiiiii
- fiiiiii
- fiiiif
- 菲尼菲
- fiiiii
- 菲菲
- 菲菲iii
- fiiiiii
- fiiiiii
单一完整备份
[DEFAULT]
bucket_name = BUCKET_NAME
region = us-east-1
access_key = ACCESS_KEY
secret_key = SECRET_KEY
storage_class = STANDARD
[pool/filesystem]
cron = 0 2 * * *
max_snapshots = 7
max_backups = 7
文件系统在每天 02:00 进行备份。仅保留最近的 7 个快照。一旦备份超过 7 个,就会删除最旧的增量备份。完整备份永远不会被删除。
结构
完整备份 (f)、增量备份 (i)
- F
- 菲
- fii
- fiii
- fiii
- fiiiiii
- fiiiiii
仅完整备份
[DEFAULT]
bucket_name = BUCKET_NAME
region = us-east-1
access_key = ACCESS_KEY
secret_key = SECRET_KEY
storage_class = STANDARD
[pool/filesystem]
cron = 0 2 * * *
max_snapshots = 7
max_incremental_backups_per_full = 0
max_backups = 7
文件系统在每天 02:00 进行备份。仅保留最近的 7 个快照。一旦备份超过 7 个,就会删除最旧的完整备份。不进行增量备份。
结构
完全备份 (f)
- F
- ff
- fff
- ffff
- 呸呸呸
- ffffff
- 呸呸呸
各种各样的
存储类代码
- 标准
- REDUCED_REDUNDANCY
- 标准_IA
- ONEZONE_IA
- INTELLIGENT_TIERING
- 冰川
- DEEP_ARCHIVE
- 前哨
发布说明
-
__init__.py文件中的增量版本 -
更新
CHANGELOG.md新版本 -
准备好后在 GitHub 中发布标签。将变更日志项添加到发布说明。GitHub Action 工作流将自动构建并将发布推送到 PyPi。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
zfs_uploader-0.8.0.tar.gz
(14.2 kB
查看哈希)
内置分布
zfs_uploader-0.8.0-py3-none-any.whl
(15.1 kB
查看哈希)
关
zfs_uploader -0.8.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 32c7e6e45d85bd079850b04328da2e8e2f6e91d50e767cd541b4f9b483d837a9 |
|
| MD5 | 6b5276bee9c68113bc9870844850eaf4 |
|
| 布莱克2-256 | bc4a68bc1af08a21058d731404fa0c333be0fdf5c82fb80cd52f93b6bafcea58 |
关
zfs_uploader -0.8.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0a57a8d7eb3e4f7de2bd383c3ba9f1b19171a0abe8669c1654b4b20b82226e53 |
|
| MD5 | bd1c2a3a551b5ff1f827ce58cb07c81a |
|
| 布莱克2-256 | 8e817049f7c41d7047b6070b152c21726f3fe6231d321df27b012a62a1692951 |