#!/bin/bash set -euo pipefail # 严格模式:错误退出、未定义变量报错、管道错误捕获 # 配置参数 LOG_FILE="/var/log/subscriber_ids_update.log" SOURCE_URL="https://database.radioid.net/static/users.json" DEST_FILE="/opt/subscriber_ids.json" # 记录日志函数(简化重复代码) log() { echo "[$(date +"%Y-%m-%d %H:%M:%S")] $1" >> "$LOG_FILE" } # 主流程 log "开始更新subscriber_ids文件..." # 步骤1:下载文件 log "尝试下载文件:$SOURCE_URL" if ! wget -q -O "$DEST_FILE" "$SOURCE_URL"; then log "错误:下载失败!请检查网络或URL是否有效。" exit 1 fi # 验证文件有效性 if [ ! -s "$DEST_FILE" ]; then log "错误:下载的文件为空或不存在!" exit 1 fi log "文件下载成功,保存至:$DEST_FILE" # 步骤2:复制到HBlink3并重启服务 log "复制文件到HBlink3目录:/opt/HBlink3/" if ! cp "$DEST_FILE" "/opt/HBlink3/"; then log "错误:复制到HBlink3失败!请检查目录权限。" exit 1 fi log "重启hblink.service..." if ! systemctl restart hblink.service; then log "错误:hblink.service重启失败!" exit 1 fi # 等待服务稳定(根据实际需求调整等待时间) log "等待15秒让hblink.service稳定..." sleep 15 # 步骤3:复制到HBmonitor2并重启服务 log "复制文件到HBmonitor2目录:/opt/HBmonitor2/" if ! cp "$DEST_FILE" "/opt/HBmonitor2/"; then log "错误:复制到HBmonitor2失败!请检查目录权限。" exit 1 fi log "重启hbmon.service..." if ! systemctl restart hbmon.service; then log "错误:hbmon.service重启失败!" exit 1 fi # 可选:清理临时文件(根据需求启用) # log "清理临时文件..." # rm "$DEST_FILE" log "操作完成:文件更新成功,服务已重启。"
27
2025
06
自动更新HBLINK 用户ID脚本
作者:kingylh | 分类:MMDVM | 浏览:4 | 评论:0