modify shell scripts

This commit is contained in:
lnk
2026-04-08 09:45:45 +08:00
parent 1b2dd863e9
commit fb55b76005
6 changed files with 314 additions and 35 deletions

View File

@@ -24,7 +24,7 @@ for fd_path in /proc/$$/fd/*; do
done
# 设置日志文件路径
LOGFILE="$FEP_ENV/dat/log/start_fe.log"
LOGFILE="/FeProject/dat/log/start_fe.log"
INI_FILE="/FeProject/etc/config/mykafka.ini"
@@ -315,7 +315,7 @@ handle_reset() {
# 关闭旧的 comtrade 进程
#kill_process_by_name "/FeProject/bin/pt61850netd_pqfe -d cfg_soe_comtrade"
/home/pq/FeProject/boot/stop_fe.sh
/FeProject/boot/stop_fe.sh
wait_all_exit || exit 1
@@ -325,34 +325,34 @@ handle_reset() {
sleep 5
# 清空 runtime.cf 中的所有进程配置
sed -i '/cfg_stat_data/d' /home/pq/FeProject/etc/runtime.cf
sed -i '/cfg_recallhis_data/d' /home/pq/FeProject/etc/runtime.cf
sed -i '/cfg_3s_data/d' /home/pq/FeProject/etc/runtime.cf
sed -i '/cfg_soe_comtrade/d' /home/pq/FeProject/etc/runtime.cf
sed -i '/fe_watchdog/d' /home/pq/FeProject/etc/runtime.cf
sed -i '/cfg_stat_data/d' /FeProject/etc/runtime.cf
sed -i '/cfg_recallhis_data/d' /FeProject/etc/runtime.cf
sed -i '/cfg_3s_data/d' /FeProject/etc/runtime.cf
sed -i '/cfg_soe_comtrade/d' /FeProject/etc/runtime.cf
sed -i '/fe_watchdog/d' /FeProject/etc/runtime.cf
# 根据进程号添加对应进程配置
if [ "$1" -eq 1 ]; then
#看门狗固定放在第一个防止stop时会把要杀死的进程重启
sed -i "2a\\$(printf '/FeProject/bin/ ^ fe_watchdog -m 18192 ^ ^ ^ 1 ^ IGNORE_RESTART ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ fe_watchdog -m 18192 ^ ^ ^ 1 ^ IGNORE_RESTART ^\n')" /FeProject/etc/runtime.cf
# 进程号为 1按固定格式添加
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s 1_1^ ^ ^ 1 ^ ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s 1_1^ ^ ^ 1 ^ ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_3s_data^ ^ ^ 1 ^ ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_soe_comtrade^ ^ ^ 1 ^ ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s 1_1^ ^ ^ 1 ^ ^\n')" /FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s 1_1^ ^ ^ 1 ^ ^\n')" /FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_3s_data^ ^ ^ 1 ^ ^\n')" /FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_soe_comtrade^ ^ ^ 1 ^ ^\n')" /FeProject/etc/runtime.cf
else
#看门狗固定放在第一个防止stop时会把要杀死的进程重启
sed -i "2a\\$(printf '/FeProject/bin/ ^ fe_watchdog -m 18192 ^ ^ ^ 1 ^ IGNORE_RESTART ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ fe_watchdog -m 18192 ^ ^ ^ 1 ^ IGNORE_RESTART ^\n')" /FeProject/etc/runtime.cf
# 进程号大于 1按 -s ${i}_ 格式添加
for i in $(seq 1 $1); do
# 在 runtime.cf 中插入对应的配置行,直接插入变量替换结果
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
done
#以下部分没有多进程
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_3s_data^ ^ ^ 1 ^ ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_soe_comtrade^ ^ ^ 1 ^ ^\n')" /home/pq/FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_3s_data^ ^ ^ 1 ^ ^\n')" /FeProject/etc/runtime.cf
sed -i "2a\\$(printf '/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_soe_comtrade^ ^ ^ 1 ^ ^\n')" /FeProject/etc/runtime.cf
fi
@@ -364,16 +364,16 @@ handle_reset() {
# 重新启动服务
/home/pq/FeProject/boot/start_fe.sh
/FeProject/boot/start_fe.sh
echo "****** reset all in $1******" >>"$LOGFILE"
elif [ "$2" == "stat" ]; then
# 清空 runtime.cf 中包含 cfg_stat_data 的行
sed -i '/cfg_stat_data/d' /home/pq/FeProject/etc/runtime.cf
sed -i '/cfg_stat_data/d' /FeProject/etc/runtime.cf
# 根据进程号来添加新的进程配置
for i in $(seq 1 $1); do
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
done
# 关闭旧的看门狗进程
@@ -385,16 +385,16 @@ handle_reset() {
#sleep 5
# 启动服务不影响其他功能的进程
/home/pq/FeProject/boot/start_fe.sh
/FeProject/boot/start_fe.sh
echo "****** reset stat in $1******" >>"$LOGFILE"
elif [ "$2" == "recall" ]; then
# 清空 runtime.cf 中包含 cfg_recallhis_data 的行
sed -i '/cfg_recallhis_data/d' /home/pq/FeProject/etc/runtime.cf
sed -i '/cfg_recallhis_data/d' /FeProject/etc/runtime.cf
# 根据进程号来添加新的进程配置
for i in $(seq 1 $1); do
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${i}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
done
# 关闭旧的看门狗进程
@@ -405,7 +405,7 @@ handle_reset() {
#sleep 5
# 启动服务不影响其他功能的进程
/home/pq/FeProject/boot/start_fe.sh
/FeProject/boot/start_fe.sh
echo "****** reset recall in $1******" >>"$LOGFILE"
else
@@ -429,22 +429,22 @@ handle_add() {
# 如果 $1 在 1 和 10 之间,进入处理逻辑
if [ "$2" == "all" ]; then
# 检查是否已存在该条目,避免重复添加
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^" /home/pq/FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^" /FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
fi
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^" /home/pq/FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^" /FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
fi
elif [ "$2" == "stat" ]; then
# 检查是否已存在该条目,避免重复添加
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^" /home/pq/FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^" /FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_stat_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
fi
elif [ "$2" == "recall" ]; then
# 检查是否已存在该条目,避免重复添加
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^" /home/pq/FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /home/pq/FeProject/etc/runtime.cf
if ! grep -q "/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^" /FeProject/etc/runtime.cf; then
sed -i "2a/FeProject/bin/ ^ pt61850netd_pqfe -d cfg_recallhis_data -s ${1}_${1}^ ^ ^ 1 ^ ^" /FeProject/etc/runtime.cf
fi
else
echo "****** process add type null ******"
@@ -457,7 +457,7 @@ handle_add() {
#sleep 5
# 启动服务,不影响正在运行的进程
/home/pq/FeProject/boot/start_fe.sh
/FeProject/boot/start_fe.sh
else
# 如果 $1 不在 1 到 10 之间,记录错误日志