147 lines
3.1 KiB
Markdown
147 lines
3.1 KiB
Markdown
# PT System Checking - 磁盘状态监控服务
|
||
|
||
一个轻量级的系统磁盘监控服务,定期检查磁盘可用空间并上报到指定服务器。
|
||
|
||
## 功能特性
|
||
|
||
- 自动检测所有非可移动磁盘的可用空间
|
||
- 定期上报磁盘状态到远程服务器
|
||
- 支持通过环境变量或命令行参数配置
|
||
- 支持 amd64 和 arm64 架构(适用于香橙派 Zero3)
|
||
- 一键部署脚本,自动配置 systemd 服务
|
||
|
||
## 快速开始
|
||
|
||
### 一键部署(推荐)
|
||
|
||
在目标设备上运行以下命令:
|
||
|
||
```bash
|
||
curl -fsSL https://gitea.service.jazzwhom.top/Passthem/pt-disk-report/raw/branch/main/install.sh | sudo bash
|
||
```
|
||
|
||
或者下载后运行:
|
||
|
||
```bash
|
||
wget https://gitea.service.jazzwhom.top/Passthem/pt-disk-report/raw/branch/main/install.sh
|
||
sudo bash install.sh
|
||
```
|
||
|
||
安装脚本会:
|
||
1. 自动检测系统架构(amd64/arm64)
|
||
2. 从 Gitea Releases 下载对应的二进制文件
|
||
3. 交互式配置服务参数(服务器 URL、检查间隔、日志级别)
|
||
4. 安装并启动 systemd 服务
|
||
|
||
### 更新服务
|
||
|
||
```bash
|
||
curl -fsSL https://gitea.service.jazzwhom.top/Passthem/pt-disk-report/raw/branch/main/update.sh | sudo bash
|
||
```
|
||
|
||
或者下载后运行:
|
||
|
||
```bash
|
||
wget https://gitea.service.jazzwhom.top/Passthem/pt-disk-report/raw/branch/main/update.sh
|
||
sudo bash update.sh
|
||
```
|
||
|
||
更新脚本会:
|
||
1. 检查当前安装的版本
|
||
2. 获取最新版本信息
|
||
3. 自动备份当前版本
|
||
4. 下载并替换新版本
|
||
5. 重启服务(如果更新失败会自动恢复备份)
|
||
|
||
### 卸载服务
|
||
|
||
```bash
|
||
sudo bash install.sh uninstall
|
||
```
|
||
|
||
## 本地构建
|
||
|
||
### 安装交叉编译工具链
|
||
|
||
```bash
|
||
make install-targets
|
||
```
|
||
|
||
### 构建所有架构
|
||
|
||
```bash
|
||
make release
|
||
```
|
||
|
||
### 准备发布文件
|
||
|
||
```bash
|
||
make prepare-release
|
||
```
|
||
|
||
这会在 `release/` 目录生成:
|
||
- `pt_system_checking-amd64` - x86_64 架构二进制文件
|
||
- `pt_system_checking-arm64` - ARM64 架构二进制文件(适用于香橙派 Zero3)
|
||
- `install.sh` - 一键部署脚本
|
||
- `update.sh` - 一键更新脚本
|
||
|
||
## 配置说明
|
||
|
||
服务支持以下配置项(通过环境变量):
|
||
|
||
- `PT__SERVER_URL` - 服务器 URL(用于上报磁盘状态)
|
||
- `PT__INTERVAL` - 检查间隔(秒,默认 300)
|
||
- `PT__LOG_LEVEL` - 日志级别(trace/debug/info/warn/error,默认 info)
|
||
|
||
## 服务管理
|
||
|
||
安装后可使用以下命令管理服务:
|
||
|
||
```bash
|
||
# 查看服务状态
|
||
systemctl status pt_system_checking
|
||
|
||
# 查看实时日志
|
||
journalctl -u pt_system_checking -f
|
||
|
||
# 停止服务
|
||
systemctl stop pt_system_checking
|
||
|
||
# 启动服务
|
||
systemctl start pt_system_checking
|
||
|
||
# 重启服务
|
||
systemctl restart pt_system_checking
|
||
|
||
# 禁用开机自启
|
||
systemctl disable pt_system_checking
|
||
```
|
||
|
||
## 手动安装
|
||
|
||
如果不使用一键脚本,可以手动安装:
|
||
|
||
1. 下载对应架构的二进制文件
|
||
2. 复制到 `/opt/pt_system_checking/`
|
||
3. 创建 systemd 服务文件 `/etc/systemd/system/pt_system_checking.service`
|
||
4. 配置环境变量
|
||
5. 启动服务:`systemctl enable --now pt_system_checking`
|
||
|
||
## 开发
|
||
|
||
### 运行测试
|
||
|
||
```bash
|
||
make test
|
||
```
|
||
|
||
### 清理构建文件
|
||
|
||
```bash
|
||
make clean
|
||
```
|
||
|
||
## 许可证
|
||
|
||
根据项目需要添加许可证信息。
|