本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

此脚本自动为Hetzner Cloud服务器创建快照并删除旧快照。快照可作为Hetzner原生自动备份的替代方案,优势在于可创建更多备份并自定义时间。通过Hetzner Cloud控制台的标签即可轻松使用,只需为服务器添加标签即可。
docker run -d --name hcloud-snapshot-as-backup
--restart unless-stopped
-v /etc/localtime:/etc/localtime:ro
-e API_TOKEN=
-e SNAPSHOT_NAME="%name%-%timestamp%"
-e LABEL_SELECTOR="AUTOBACKUP"
-e KEEP_LAST=3
-e CRON="0 1 * * *"
fbrettnich/hcloud-snapshot-as-backup
在第4行的`API_TOKEN=`后填入您的Hetzner Cloud控制台API密钥。 可选:将`CRON`设置为`false`可禁用容器内的Cron调度器,改为在容器外调度,尤其适用于使用Amazon ECS定时任务或Google Cloud Run任务的场景。 --- ### 安装:使用Docker Compose**1. 下载docker-compose.yml**``` curl -sSL [***] > docker-compose.yml ```** 2. 编辑配置**打开`docker-compose.yml`文件完成配置。 配置详情见下文(点击此处)** 3. 运行docker-compose **``` docker-compose up -d
apt install git
git clone [***] /opt/hcloud-snapshot-as-backup
** 2. 安装依赖**
apt install python3 python3-pip
pip3 install -r /opt/hcloud-snapshot-as-backup/requirements.txt
** 3. 复制配置文件**
cd /opt/hcloud-snapshot-as-backup/
cp config-example.json config.json
** 4. 编辑配置**打开`config.json`文件完成配置。 配置详情见下文(点击此处)** 5. 运行脚本**
python3 /opt/hcloud-snapshot-as-backup/snapshot-as-backup.py
如需自动执行脚本,可创建crontab:Crontab生成器
crontab -e
在文件末尾添加crontab:
0 1 * * * python3 /opt/hcloud-snapshot-as-backup/snapshot-as-backup.py >/dev/null 2>&1
此crontab将每天凌晨1点执行脚本。 ## 配置 根据脚本的运行方式,配置方法有所不同: - 使用Docker时,通过环境变量配置; - 通过命令/crontab运行时,通过配置文件(`config.json`)配置。 ### 配置:生成Hetzner Cloud控制台API密钥 1. 登录Hetzner Cloud控制台 2. 选择您的项目 3. 点击左侧的“Access”(访问) 4. 切换到顶部的“API-Tokens”(API令牌) 5. 点击“Create API Token”(创建API令牌),创建具有读写权限的新令牌 6. 复制密钥并粘贴到环境变量的`API_TOKEN`中,或配置文件的`api-token`中 !创建Hetzner API令牌动图 ### 配置:选择默认保留备份数量 通过环境变量的`KEEP_LAST`或配置文件的`keep-last`指定默认每台服务器保留的备份数量。 可通过标签在Hetzner Cloud控制台直接覆盖默认值:为服务器添加标签`AUTOBACKUP.KEEP-LAST`,值为该服务器的保留数量。 系统将保留最新的快照,删除旧快照。 ### 配置:为需备份服务器添加标签 所有需要脚本自动创建快照备份的服务器,必须添加标签`AUTOBACKUP`,值为`true`。 ### 配置:修改默认标签 如需将默认标签从`AUTOBACKUP`修改为其他值,可在配置文件中修改`label_selector`的值;Docker环境下,可设置`LABEL_SELECTOR`环境变量。修改后,`KEEP-LAST`设置也需使用新标签。 ### 配置:选择快照名称(可选) 通过环境变量的`SNAPSHOT_NAME`或配置文件的`snapshot-name`指定快照名称格式。默认名称为`<服务器名称>-<时间戳>`。 | 占位符 | 说明 | |--------------|--------------------------| | %id% | 服务器ID | | %name% | 服务器名称 | | %timestamp% | 当前时间戳 | | %date% | 当前日期(`%Y-%m-%d`) | | %time% | 当前时间(`%H:%M:%S`) | ### 配置:Docker通过cron指定脚本执行频率 Docker环境下,通过环境变量`CRON`指定cron表达式,定义脚本执行频率。如需在容器外调度,可将`CRON`设为`false`。 可通过Cron生成器创建表达式。例如:
0 1 * * *
此表达式将每天凌晨1点执行脚本。 ## 关于标签 此脚本基于Hetzner标签功能工作: - **服务器标签** - `AUTOBACKUP` - 标签值为`true`的服务器将被脚本纳入备份范围,可在Hetzner Cloud控制台直接指定需备份的服务器。 - `AUTOBACKUP.KEEP-LAST`(可选) - 用于指定该服务器保留的备份数量,未设置时使用默认值。 - **快照标签** - `AUTOBACKUP` - 脚本创建的快照会自动添加此标签,便于识别自动生成的快照。 - 脚本仅删除带有此标签的旧快照(无此标签的快照将被忽略)。 - 如需保留某个自动生成的快照,移除其`AUTOBACKUP`标签即可。 !服务器标签 ## 为什么此脚本有用? | 优势 | 劣势 | |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------| | 可自定义快照备份时间(原生备份时间固定) | 快照数量有限制(可申请提高限额) | | 可保留任意数量备份(原生备份最多7个) | 超大服务器(存储量大)可能成本更高 | | 小型服务器(存储空间小)比原生备份更便宜 | | | 不与服务器绑定(删除服务器时,原生备份会被删除,快照不会) | | | 可直接从快照创建新服务器 | | | 快照存储在与服务器不同的位置(同一网络区域)(原生备份与服务器同位置) | | | 快照可迁移到其他项目 | |


免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429