#docker #volume #docker-volume-backup

app salvage

一个用于安排容器卷存档的 Docker 容器实用工具。

1 个不稳定版本

0.7.2 2024年2月17日

#305压缩

MIT 许可证

33KB
626

Salvage

License latest version Docker Image Size (tag)

一个用于安排容器卷存档的 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 存档上使用的压缩。
有效值 bzip2gzipxzzstd
SALVAGE_ARCHIVE_COMPRESSION_LEVEL 6 设置所选存档压缩所使用的压缩级别。
SALVAGE_ARCHIVE_STRATEGY multiple multiple - 将每个目录压缩成自己的存档。
single - 将所有目录压缩成一个存档。
SALVAGE_ARCHIVE_PREFIX salvage 提供在创建备份存档时使用的前缀。
SALVAGE_ARCHIVE_GROUP_PERMISSION read 提供备份存档的组权限设置方式。
有效值 readread-writenone
SALVAGE_ARCHIVE_OTHER_PERMISSION read 提供备份存档的其他权限设置方式。
有效值 readread-writenone
SALVAGE_CONTAINER_MANAGEMENT true 控制是否在备份卷时停止容器。
SALVAGE_RUN_ONCE false 当设置为 true 时,salvage 将只运行一次并退出,而不是按计划运行。

容器注册表

容器注册表 镜像
Docker Hub kwheelans/salvage
GitHub 容器注册表 ghcr.io/kwheelans/salvage

依赖关系

~18-34MB
~502K SLoC