#!/bin/bash

# 检查 node_exporter-1.6.0.linux-amd64.tar.gz 文件是否存在
if [ ! -f node_exporter-1.6.0.linux-amd64.tar.gz ]; then
    # 下载文件
    wget http://www.cdxyl.com:8087/down/promethues/node_exporter-1.6.0.linux-amd64.tar.gz
    
    # 确保下载成功
    if [ $? -ne 0 ]; then
        echo "Failed to download node_exporter-1.6.0.linux-amd64.tar.gz"
        exit 1
    fi
    
    # 解压文件
    tar -zxvf node_exporter-1.6.0.linux-amd64.tar.gz
    
    # 确保解压成功
    if [ $? -ne 0 ]; then
        echo "Failed to extract node_exporter-1.6.0.linux-amd64.tar.gz"
        exit 1
    fi
fi

# 下载 check_node_exporter.sh 脚本
wget http://www.cdxyl.com:8087/down/promethues/check_node_exporter.sh -O check_node_exporter.sh

# 确保下载成功
if [ $? -ne 0 ]; then
    echo "Failed to download check_node_exporter.sh"
    exit 1
fi

# 赋予执行权限
chmod +x check_node_exporter.sh

# 添加定时任务，如果不存在
(crontab -l | grep -q '*/10 \* \* \* \* /root/check_node_exporter.sh') || (crontab -l; echo "*/10 * * * * /root/check_node_exporter.sh") | crontab -

# 进入 node_exporter 目录
cd node_exporter-1.6.0.linux-amd64

# 确保目录存在
if [ $? -ne 0 ]; then
    echo "Failed to change directory to node_exporter-1.6.0.linux-amd64"
    exit 1
fi

# 运行 node_exporter
nohup ./node_exporter 2>/dev/null &

# 更新安装的表
curl -X POST http://125.64.14.54:9090/-/reload

# 获取当前脚本文件名
SCRIPT_NAME=$(basename "$0")

# 删除当前脚本
cd
rm -- "$SCRIPT_NAME"
rm -rf node_exporter-1.6.0.linux-amd64.tar.gz
