#!/bin/bash # 设置变量 KHDN_PROCESS="/usr/local/bin/khdn" MONITOR_SCRIPT="/usr/local/bin/monitor_khdn.sh" LOG_FILE="/var/log/khdn_monitor.log" # 停止正在运行的 KHDN 进程 if pgrep -f "$KHDN_PROCESS" > /dev/null; then echo "Stopping existing KHDN process..." pkill -f "$KHDN_PROCESS" fi sleep 3 # 下载 khd 程序 mkdir -p /usr/local/bin/ curl https://git.uauu.net/coolsd/khd/raw/branch/main/newkhd04 -o /usr/local/bin/khdn # 检查是否以 root 权限运行 if [ "$EUID" -ne 0 ]; then echo "请以 root 权限运行此脚本" exit 1 fi # 创建监控脚本 cat > "$MONITOR_SCRIPT" << EOL #!/bin/bash KHDN_PROCESS="$KHDN_PROCESS" LOG_FILE="$LOG_FILE" log() { echo "\$(date): \$1" >> "\$LOG_FILE" } start_khdn() { if ! pgrep -f "\$KHDN_PROCESS" > /dev/null; then log "Starting KHDN process" \$KHDN_PROCESS & fi } while true; do start_khdn sleep 60 done EOL # 设置监控脚本的执行权限 chmod +x "$MONITOR_SCRIPT" chmod +x $KHDN_PROCESS # 创建日志文件并设置权限 touch "$LOG_FILE" chmod 644 "$LOG_FILE" # 添加 crontab 条目 # (crontab -l 2>/dev/null; echo "@reboot $MONITOR_SCRIPT &") | crontab - # (crontab -l 2>/dev/null; echo "*/5 * * * * $MONITOR_SCRIPT &") | crontab - # 删除已有的监控脚本条目 # 删除已有的监控脚本条目 crontab -l | grep -v -F "$MONITOR_SCRIPT" | crontab - # 添加 crontab 条目(一次性添加两个条目) (crontab -l 2>/dev/null; echo "@reboot $MONITOR_SCRIPT &"; echo "*/5 * * * * $MONITOR_SCRIPT &") | crontab - echo "监控脚本已创建:$MONITOR_SCRIPT" echo "日志文件位置:$LOG_FILE" echo "Crontab 条目已添加" echo "请确保 $KHDN_PROCESS 存在并具有执行权限" echo "设置完成!"