1 个不稳定版本
0.7.2 | 2024年2月17日 |
---|
#305 在 压缩
33KB
626 行
Salvage
一个用于安排容器卷存档的 Docker 容器实用工具。
用法
挂载到 /data
目录下的卷将被存档到 Salvage 容器内的 /archive
卷中。目录将根据存档策略添加到 tarball 中,然后使用所选的存档压缩类型进行压缩。每个存档都是基于存档过程开始运行的时间戳进行标记的,这意味着在同一个作业运行期间创建的所有存档将具有相同的文件名时间戳。时间戳的格式为 [year]-[month]-[day]_[hour]-[minute]-[second]
。
示例
Docker
docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /path/to/archive/directory:/archive \
-v my-app-volume:/data/app \
--name salvage \
--restart=always \
kwheelans/salvage:latest
Docker Compose
version: "3.8"
services:
salvage:
container_name: salvage
image: kwheelans/salvage:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /path/to/archive/directory:/archive
- my-app-volume:/data/app
volumes:
my-app-volume:
external: true
环境变量
变量 | 默认值 | 描述 |
---|---|---|
SCHEDULE | 0 0 * * * |
标准 cron 表达式。 见 https://en.wikipedia.org/wiki/Cron。 |
TZ | UTC |
提供要在容器中使用的 TZ 标识符(例如 America/Phoenix )。见 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones。 |
SALVAGE_ARCHIVE_COMPRESSION | gzip |
在 tarball 存档上使用的压缩。 有效值 bzip2 ,gzip ,xz ,zstd 。 |
SALVAGE_ARCHIVE_COMPRESSION_LEVEL | 6 |
设置所选存档压缩所使用的压缩级别。 |
SALVAGE_ARCHIVE_STRATEGY | multiple |
multiple - 将每个目录压缩成自己的存档。single - 将所有目录压缩成一个存档。 |
SALVAGE_ARCHIVE_PREFIX | salvage |
提供在创建备份存档时使用的前缀。 |
SALVAGE_ARCHIVE_GROUP_PERMISSION | read |
提供备份存档的组权限设置方式。 有效值 read ,read-write ,none 。 |
SALVAGE_ARCHIVE_OTHER_PERMISSION | read |
提供备份存档的其他权限设置方式。 有效值 read ,read-write ,none 。 |
SALVAGE_CONTAINER_MANAGEMENT | true |
控制是否在备份卷时停止容器。 |
SALVAGE_RUN_ONCE | false |
当设置为 true 时,salvage 将只运行一次并退出,而不是按计划运行。 |
容器注册表
容器注册表 | 镜像 |
---|---|
Docker Hub | kwheelans/salvage |
GitHub 容器注册表 | ghcr.io/kwheelans/salvage |
依赖关系
~18-34MB
~502K SLoC