Rsnapshot 是一个基于rsync的文件系统快照工具。它能够轻松地对本地机器和通过SSH连接的远程机器创建定期快照。该工具尽可能利用硬链接,从而大大减少所需的磁盘空间。
LinuxServer.io团队提供的此容器具有以下特点:
该镜像利用docker manifest实现多平台支持。只需拉取 lscr.io/linuxserver/rsnapshot:latest 即可获取适合您架构的正确镜像,也可以通过标签拉取特定架构的镜像。
支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
启动容器后,您需要编辑 /config/rsnapshot.conf 配置文件。
rsnapshot默认配置为将数据备份到 /.snapshots 卷。您可以在配置中更改此设置,但请确保挂载与此匹配的卷到容器。
rsnapshot根据此部分的配置保留备份。有关更多信息,请参阅rsnapshot文档。
rsnapshot默认配置为从 /data 卷备份数据。您可以在配置中更改此设置,但请确保挂载与此匹配的卷到容器。
然后,您需要编辑 /config/crontabs/root 来设置运行rsnapshot的cron任务。默认情况下,没有启用任何cron任务。配置文件中包含基于rsnapshot文档的示例。
yaml--- services: rsnapshot: image: lscr.io/linuxserver/rsnapshot:latest container_name: rsnapshot environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /path/to/rsnapshot/config:/config - /path/to/snapshots:/.snapshots #可选 - /path/to/data:/data #可选 restart: unless-stopped
bashdocker run -d \ --name=rsnapshot \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -v /path/to/rsnapshot/config:/config \ -v /path/to/snapshots:/.snapshots `#可选` \ -v /path/to/data:/data `#可选` \ --restart unless-stopped \ lscr.io/linuxserver/rsnapshot:latest
容器通过运行时传递的参数进行配置。这些参数用冒号分隔,表示 <外部>:<内部>。例如,-p 8080:80 会将容器内的端口 80 暴露出来,可通过主机IP的 8080 端口访问。
| 参数 | 功能 |
|---|---|
-e PUID=1000 | 用户ID - 详见下方说明 |
-e PGID=1000 | 组ID - 详见下方说明 |
-e TZ=Etc/UTC | 指定使用的时区,参见时区列表 |
-v /config | 持久化配置文件 |
-v /.snapshots | 所有快照的存储位置 |
-v /data | 要备份的数据的存储位置 |
您可以通过使用特殊的前缀 FILE__ 从文件中设置任何环境变量。
例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
这将根据 /run/secrets/mysecretvariable 文件的内容设置环境变量 MYVAR。
对于所有镜像,我们提供了使用可选的 -e UMASK=022 设置来覆盖容器内启动的服务的默认umask设置的能力。请注意,umask不是chmod,它根据其值减去权限,而不是添加权限。
使用卷(-v 标志)时,主机操作系统和容器之间可能会出现权限问题。我们通过允许您指定用户 PUID 和组 PGID 来避免此问题。
确保主机上的任何卷目录都由您指定的相同用户拥有,这样任何权限问题都会迎刃而解。
在此实例中 PUID=1000 和 PGID=1000,要查找您的PUID和PGID,请使用 id your_user:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们发布了各种Docker Mods,以启用容器内的其他功能。上述动态徽章可访问此镜像可用的Mods列表(如有)以及可应用于我们任何镜像的通用Mods。
容器运行时的Shell访问:
bashdocker exec -it rsnapshot /bin/bash
实时监控容器日志:
bashdocker logs -f rsnapshot
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' rsnapshot
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/rsnapshot:latest
我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器来更新内部的应用程序。除了一些例外情况(在相关的readme.md中注明),我们不建议或支持在容器内更新应用程序。请参考上面的应用设置部分,查看是否推荐对镜像进行更新。
以下是更新容器的说明:
更新镜像:
所有镜像:
bashdocker-compose pull
单个镜像:
bashdocker-compose pull rsnapshot
更新容器:
所有容器:
bashdocker-compose up -d
单个容器:
bashdocker-compose up -d rsnapshot
您还可以删除旧的悬空镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/rsnapshot:latest
停止运行中的容器:
bashdocker stop rsnapshot
删除容器:
bashdocker rm rsnapshot
使用上述指示的相同docker run参数重新创建新容器(如果正确映射到主机文件夹,您的 /config 文件夹和设置将被保留)
您还可以删除旧的悬空镜像:
bashdocker image prune
我们建议使用Diun进行更新通知。不建议或支持其他自动更新容器的工具。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
bashgit clone [***] cd docker-rsnapshot docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/rsnapshot:latest .
可以使用 lscr.io/linuxserver/qemu-static 在x86_64硬件上构建ARM变体,反之亦然
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,您可以使用 -f Dockerfile.aarch64 定义要使用的dockerfile。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429