#!/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/newkhd05 -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 "设置完成！"