跳转至

🧰 管理工具

📝 概述

管理工具是安装在每个组件中的Linux bash脚本,位于以下结构的目录中

/usr/local/<ProductName>/bin

这些工具执行以下功能:


🛠️ 更新与回滚脚本

更新脚本用于从Amazon S3存储的版本列表中拉取并应用组件的最新版本。更新过程会检查当前安装的版本是否过时,仅在必要时执行更新。

回滚脚本旨在撤销更新过程中所做的更改。这确保在更新失败或引发问题时,组件可以回退到已知的正常状态。

Note

更新时会自动存储本地副本或归档备份,以便在需要时进行回滚


💾 备份脚本

备份脚本负责归档关键服务器配置,并以结构化方式存储在 /backup 目录下。


💻 Shell脚本

Shell脚本提供了与运行中的服务(如数据库、Docker容器或其他系统组件)交互的CLI接口。这些脚本通过环境变量或配置管理工具安全地注入凭据。


🔧 实用工具脚本

实用工具脚本用于自动化重复或必要的维护操作。这些脚本通常按计划(如通过cron)运行或由系统事件触发,可以主动修改配置或管理系统资源。

Note

部分脚本用于后台任务或支持其他脚本的操作,本节不做详细讨论。



🌐 EdgeHit Controller 脚本

这类型脚本位于以下结构目录中:

/usr/local/EdgeHit-Controller/bin/

🛠️ 更新与回滚脚本

脚本名称 描述
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 没有回滚脚本,因为它不是基于容器安装的

这些脚本位于

/usr/local/loadproxy/EdgeHit-scripts/

🛠️ 更新脚本

脚本名称 描述
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 脚本

这些脚本位于

/usr/local/loadproxy/EdgeHit-DNS/bin/

🛠️ 更新与回滚脚本

脚本名称 描述
upgrade.sh 从S3拉取最新版本,并在有新版本可用时执行更新
backup.sh 创建当前配置的快照(gzip),存放于
/usr/local/loadproxy/EdgeHit-DNS/bak/full/
rollback.sh 使用备份将系统回滚到上一个稳定版本

🔧 实用工具脚本

脚本名称 描述
upgrade-ip2.sh 通过检查S3存储桶中的最新版本更新EdgeHit DNS中的Geo-IP服务组件


📅 Prometheus 服务器脚本

这些脚本位于

/usr/local/edgehit/prometheus/bin/

🛠️ 更新与回滚脚本

脚本名称 描述
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脚本

这些脚本位于

/usr/local/loadup/loadup-cp/bin/
🛠️ 更新与回滚脚本

脚本名称 描述
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 脚本

这些脚本位于

/usr/local/loadup/loadup-worker/bin/

🛠️ 更新与回滚脚本

脚本名称 描述
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目录下。它没有更新或回滚脚本。更新和回滚是通过手动运行安装脚本来完成的,因为安装脚本包含了清理和更新功能。

这些脚本位于

/etc/anycast-checker/
🔧 实用工具脚本

脚本名称 描述
dns-healthcheck.sh 向本地GDNSD进程发送DNS请求以检查EdgeHit DNS状态
http-healthcheck.sh 向本地NGINX进程发送HTTP请求以检查EdgeHit状态

注意

上述脚本由已注册的系统服务anycast-healthchecker自动调用,用户很少需要手动执行



🩺 DNS-HealtchCheck 脚本

这些脚本位于

/usr/local/loadproxy/health-check/bin/

🛠️ 更新与回滚脚本

脚本名称 描述
upgrade.sh 从S3拉取最新版本并在检测到新版本时执行更新
backup.sh 创建当前配置的快照(gzip),存储于
/usr/local/loadup/loadup-worker/bak/full/
rollback.sh 使用备份将系统回退至上一个稳定版本