🧰 管理工具
📝 概述
管理工具是安装在每个组件中的Linux bash脚本,位于以下结构的目录中
这些工具执行以下功能:
🛠️ 更新与回滚脚本
更新脚本用于从Amazon S3存储的版本列表中拉取并应用组件的最新版本。更新过程会检查当前安装的版本是否过时,仅在必要时执行更新。
回滚脚本旨在撤销更新过程中所做的更改。这确保在更新失败或引发问题时,组件可以回退到已知的正常状态。
Note
更新时会自动存储本地副本或归档备份,以便在需要时进行回滚
💾 备份脚本
备份脚本负责归档关键服务器配置,并以结构化方式存储在 /backup 目录下。
💻 Shell脚本
Shell脚本提供了与运行中的服务(如数据库、Docker容器或其他系统组件)交互的CLI接口。这些脚本通过环境变量或配置管理工具安全地注入凭据。
🔧 实用工具脚本
实用工具脚本用于自动化重复或必要的维护操作。这些脚本通常按计划(如通过cron)运行或由系统事件触发,可以主动修改配置或管理系统资源。
Note
部分脚本用于后台任务或支持其他脚本的操作,本节不做详细讨论。
🌐 EdgeHit Controller 脚本
这类型脚本位于以下结构目录中:
🛠️ 更新与回滚脚本
| 脚本名称 | 描述 |
|---|---|
upgrade.sh |
从S3拉取最新版本,并在有新版本可用时执行更新。 |
backup.sh |
创建当前配置的快照(gzip),存放于/usr/local/edgehit/EdgeHit-Controller/bak/full/ |
rollback.sh |
使用备份将系统回滚到上一个稳定版本。 |
💾 备份脚本
| 脚本名称 | 描述 |
|---|---|
db-backup.sh |
存储PostgreSQL数据库备份(gzip)到/usr/local/edgehit/EdgeHit-Controller/bak/db/ |
db-restore.sh |
从之前存储的备份恢复PostgreSQL数据库。 |
💻 Shell脚本
Note
在测试环境中,您可以使用已部署的Adminer和P3x以更友好的方式访问数据库,而无需使用CLI界面。
| 脚本名称 | 描述 |
|---|---|
acme.sh |
进入acme容器的shell会话。 |
EdgeHit Controller-shell.sh |
进入API服务器容器的shell。 |
edgehit-gui-shell.sh |
进入GUI服务器容器的shell。 |
psql.sh |
进入PostgreSQL容器的Postgre-CLI。 |
redis-cli.sh |
进入Redis(默认)容器的Redis-CLI。 |
configdb-cli.sh |
进入Redis(config-db)容器的Redis-CLI。 |
clickhouse-client.sh |
进入ClickHouse容器的Clickhouse-CLI。 |
🔧 实用工具脚本
| 脚本名称 | 描述 |
|---|---|
__clickhouse-drop_unused_tables.sh |
从ClickHouse中删除未使用的表。 |
clickhouse-schedule-once.sh |
手动触发ClickHouse上的计划任务。 |
acme-add-domain.sh |
向ACME SSL证书设置中添加新域名。 |
pg_dump.sh |
将PostgreSQL数据库转储到当前终端的STDOUT。 |
🚀 EdgeHit 脚本
Note
EdgeHit 包含许多位于 /usr/local/* 子目录中的脚本。这是因为 EdgeHit 是直接安装在主机系统上,而非采用基于容器的方式。
不过管理员只需使用下方目录中的脚本即可,这些脚本作为入口点,内部会自动链式调用其他必要脚本。
Tip
EdgeHit 没有回滚脚本,因为它不是基于容器安装的
这些脚本位于
🛠️ 更新脚本
| 脚本名称 | 描述 |
|---|---|
pkg-upgrade.sh |
从S3拉取最新版本,并在有新版本可用时执行更新。 |
pkg-info |
打印EdgeHit安装信息 |
pkg-clean-install.sh |
通过移除现有EdgeHit包并重新安装执行全新安装 |
🔧 实用工具脚本
| 脚本名称 | 描述 |
|---|---|
upgrade-geoip2.sh |
更新EdgeHit中的Geo-IP服务组件。如果检测到EdgeHit DNS服务器角色,将链式加载对应脚本来升级EdgeHit DNS中的该组件 |
svc-all.sh |
重启所有由EdgeHit注册的系统服务。如果检测到EdgeHit DNS服务器角色,也会重启EdgeHit DNS相关服务 |
💻 Shell脚本
重要提示
由于基于直接主机系统安装,EdgeHit中的Shell脚本存储在不同位置。下表显示了/usr/local/loadproxy/下各脚本的完整路径。
| 脚本名称 | 描述 |
|---|---|
EdgeHit-cache-db/bin/EdgeHit-cache-db-cli.sh |
打开Redis (cache-db)本地实例的Redis-CLI。 |
EdgeHit-config-db/bin/EdgeHit-config-db-cli.sh |
打开Redis (config-db)本地实例的Redis-CLI。 |
EdgeHit-unbound/bin/unbound-control.sh |
进入Unbound容器的Shell。 |
🌍 EdgeHit DNS 脚本
这些脚本位于
🛠️ 更新与回滚脚本
| 脚本名称 | 描述 |
|---|---|
upgrade.sh |
从S3拉取最新版本,并在有新版本可用时执行更新 |
backup.sh |
创建当前配置的快照(gzip),存放于/usr/local/loadproxy/EdgeHit-DNS/bak/full/ |
rollback.sh |
使用备份将系统回滚到上一个稳定版本 |
🔧 实用工具脚本
| 脚本名称 | 描述 |
|---|---|
upgrade-ip2.sh |
通过检查S3存储桶中的最新版本更新EdgeHit DNS中的Geo-IP服务组件 |
📅 Prometheus 服务器脚本
这些脚本位于
🛠️ 更新与回滚脚本
| 脚本名称 | 描述 |
|---|---|
upgrade.sh |
从S3拉取最新版本,并在有新版本可用时执行更新 |
backup.sh |
创建当前配置的快照(gzip),存放于/usr/local/edgehit/prometheus/bak/full/ |
rollback.sh |
使用备份将系统回滚到上一个稳定版本 |
💻 Shell脚本
| 脚本名称 | 描述 |
|---|---|
acme.sh |
进入acme容器的shell会话 |
🔧 实用工具脚本
Tip
edge-target.sh 用于配置将Load Proxy添加为Prometheus目标
| 脚本名称 | 描述 |
|---|---|
acme-add-domain.sh |
向ACME SSL证书设置中添加新域名 |
edge-target.sh |
向Prometheus配置中的==Node==任务添加目标配置,该配置使用Load-Proxy的HTTP-AUTH值 |
🪧 LoadUp-CP脚本
这些脚本位于
🛠️ 更新与回滚脚本| 脚本名称 | 描述 |
|---|---|
upgrade.sh |
从S3拉取最新版本,并在有新版本可用时执行更新 |
backup.sh |
创建当前配置的快照(gzip),存放于/usr/local/loadup/loadup-cp/bak/full/ |
rollback.sh |
使用备份将系统回滚到上一个稳定版本 |
💾 备份脚本
| 脚本名称 | 描述 |
|---|---|
db-backup.sh |
存储MySQL数据库备份(gzip)到/usr/local/loadup/loadup-cp/bak/db/ |
db-restore.sh |
从之前存储的备份恢复MySQL数据库 |
💻 Shell脚本
| 脚本名称 | 描述 |
|---|---|
acme.sh |
进入acme容器的shell会话 |
loadup-api-shell.sh |
进入API服务器容器的shell会话 |
mysql.sh |
进入mysql容器的MySQL-CLI会话 |
redis-cli.sh |
进入redis容器的Redis-CLI会话 |
🔧 实用工具脚本
| 脚本名称 | 描述 |
|---|---|
acme-add-domain.sh |
向ACME SSL证书设置中添加新域名 |
mysqldump.sh |
将MySQL数据库转储到当前终端的STDOUT |
👷 LoadUp-Worker 脚本
这些脚本位于
🛠️ 更新与回滚脚本
| 脚本名称 | 描述 |
|---|---|
upgrade.sh |
从S3拉取最新版本,并在有新版本可用时执行更新 |
backup.sh |
创建当前配置的快照(gzip),存放于/usr/local/loadup/loadup-worker/bak/full/ |
rollback.sh |
使用备份将系统回滚到上一个稳定版本 |
💻 Shell脚本
| 脚本名称 | 描述 |
|---|---|
redis-cli.sh |
进入redis容器的Redis-CLI会话 |
💊 AnyCast-健康检查脚本
Note
与其他组件不同,Anycast-HealthChecker没有安装在/usr/local目录下。它没有更新或回滚脚本。更新和回滚是通过手动运行安装脚本来完成的,因为安装脚本包含了清理和更新功能。
这些脚本位于
🔧 实用工具脚本| 脚本名称 | 描述 |
|---|---|
dns-healthcheck.sh |
向本地GDNSD进程发送DNS请求以检查EdgeHit DNS状态 |
http-healthcheck.sh |
向本地NGINX进程发送HTTP请求以检查EdgeHit状态 |
注意
上述脚本由已注册的系统服务anycast-healthchecker自动调用,用户很少需要手动执行
🩺 DNS-HealtchCheck 脚本
这些脚本位于
🛠️ 更新与回滚脚本
| 脚本名称 | 描述 |
|---|---|
upgrade.sh |
从S3拉取最新版本并在检测到新版本时执行更新 |
backup.sh |
创建当前配置的快照(gzip),存储于/usr/local/loadup/loadup-worker/bak/full/ |
rollback.sh |
使用备份将系统回退至上一个稳定版本 |