94 lines
2.1 KiB
Bash
94 lines
2.1 KiB
Bash
#!/bin/sh
|
|
|
|
# Find Java
|
|
if [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
|
|
JAVA_EXE="$JAVA_HOME/bin/java"
|
|
elif type -p java > /dev/null 2>&1; then
|
|
JAVA_EXE=$(type -p java)
|
|
elif [[ -x "/usr/bin/java" ]]; then
|
|
JAVA_EXE="/usr/bin/java"
|
|
else
|
|
echo "Unable to find Java"
|
|
JAVA_EXE="java"
|
|
# exit 1
|
|
fi
|
|
|
|
# install
|
|
if [ 1 -eq $1 ];then
|
|
cat > /usr/lib/systemd/system/nz-talon.service <<EOF
|
|
[Unit]
|
|
Description=nz-talon
|
|
After=network.target
|
|
[Service]
|
|
WorkingDirectory=/opt/nezha/nz-talon
|
|
ExecStart=/opt/nezha/nz-talon/xjar ${JAVA_EXE} -Dnz-agent.dir=/opt/nezha/nz-talon -jar /opt/nezha/nz-talon/nz-talon.xjar
|
|
RestartSec=5s
|
|
Restart=always
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
cat > /usr/lib/systemd/system/promtail.service <<"EOF"
|
|
[Unit]
|
|
Description=nz-talon
|
|
After=network.target
|
|
[Service]
|
|
WorkingDirectory=/opt/nezha/promtail
|
|
EnvironmentFile=/opt/nezha/promtail/config.conf
|
|
ExecStart=/opt/nezha/promtail/promtail $OPTION
|
|
RestartSec=5s
|
|
Restart=always
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable nz-talon && systemctl restart nz-talon
|
|
systemctl enable promtail && systemctl restart promtail
|
|
echo 'install nz-talon success !'
|
|
fi
|
|
compareMD5()
|
|
{
|
|
if [ ! -f $1 ] || [ ! -f $2 ];then
|
|
echo 1
|
|
return 1
|
|
fi
|
|
|
|
local f1MD5=`md5sum $1|awk '{print $1}'`
|
|
local f2MD5=`md5sum $2|awk '{print $1}'`
|
|
|
|
if [ ${f1MD5} = ${f2MD5} ];then
|
|
echo 0
|
|
return 0
|
|
else
|
|
echo 1
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# update
|
|
if [ 2 -eq $1 ];then
|
|
TALON_PATH=/opt/nezha/nz-talon
|
|
TMP_PATH=/tmp/nezha/nz-talon
|
|
PROMTAIL_PATH=/opt/nezha/promtail
|
|
echo 'move backup config file...'
|
|
if [ -d $TMP_PATH ];then
|
|
# 恢复 nz-talon 配置文件
|
|
for i in $(ls $TALON_PATH/config);do
|
|
if [ 1 -eq `compareMD5 $WEB_PATH/config/$i $TMP_PATH/config/$i` ];then
|
|
echo 'return config file '${i}
|
|
cp -f $TMP_PATH/config/$i $TALON_PATH/config/$i
|
|
fi
|
|
done
|
|
# 恢复 promtail 配置文件
|
|
for n in $(ls $TMP_PATH/promtail);do
|
|
if [ -f "$PROMTAIL_PATH/$n" ];then
|
|
echo 'return config file '${n}
|
|
cp -f $TMP_PATH/promtail/$n $PROMTAIL_PATH/$n
|
|
fi
|
|
done
|
|
fi
|
|
systemctl restart nz-talon
|
|
systemctl restart promtail
|
|
fi
|