
jchonig/rsnapshotdocker-rsnapshot是一个运行rsnapshot的容器,主要用于通过SSH备份远程文件系统,同时也支持本地文件系统备份。
bashdocker create \ --name=rsnapshot \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -v </path/to/appdata/config>:/config \ -v </path/to/backup_root>:/backup \ --restart unless-stopped \ jchonig/rsnapshot
兼容docker-compose v2架构:
yaml--- version: "2" services: rsnapshot: image: jchonig/rsnapshot container_name: rsnapshot environment: - PUID=1000 - PGID=1000 - TZ=Europe/London volumes: - </path/to/appdata/config>:/config - </path/to/backup_root>:/backup restart: unless-stopped
| 环境变量 | 功能说明 |
|---|---|
| PUID=1000 | 用户ID - 详见下方说明 |
| PGID=1000 | 组ID - 详见下方说明 |
| TZ=UTC | 指定时区,例如 UTC |
| 卷路径 | 功能说明 |
|---|---|
| /config | 所有配置文件存放目录 |
| /backup | 备份文件的根目录 |
| /data/* | 需要备份的本地文件系统挂载点 |
config目录中的env文件传递,该文件会被shell自动加载config/rsnapshot/NAME.confconfig/log/rsnapshot.log/backup/${NAME}/data/*下在config/.ssh目录下添加SSH密钥和配置,示例配置:
Host * PasswordAuthentication no StrictHostKeyChecking no UserKnownHostsFile /dev/null Host HOSTNAME IdentityFile ~/.ssh/KEYNAME
在/config/cron.d/目录下创建名为rsnapshot-${NAME}的crontab配置文件,示例:
57 17 * * * rsnapshot -c /config/rsnapshot/HOSTNAME.conf hourly 36 1 * * 0-5 rsnapshot -c /config/rsnapshot/HOSTNAME.conf daily 36 1 * * 6 rsnapshot -c /config/rsnapshot/HOSTNAME.conf weekly && rsnapshot -c /config/rsnapshot/HOSTNAME.conf daily 36 0 1 * * rsnapshot -c /config/rsnapshot/HOSTNAME.conf monthly
PUID和PGID环境变量用于指定运行容器内应用程序的用户ID和组ID。这确保容器内的进程对挂载卷具有正确的权限,避免文件所有权问题。通常建议将这些值设置为与宿主机上运行备份的用户ID和组ID相同,默认值为1000。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务