Browse Source

优化修改脚本, 加入sshd远程运维支持

niujiuru 2 weeks atrás
parent
commit
0b49e0ba42

+ 2 - 2
baseapp/config.ini

@@ -4,6 +4,6 @@ Level = info
 ; 输出目标: console(控制台)、file(文件)、all(控制台+文件)
 Target = file
 ; 每个日志文件的最大大下, 以"MB"为单位
-MaxFileSize = 30
+MaxFileSize = 10
 ; 保留的最大备份文件数量
-MaxBackupFileCnts = 5
+MaxBackupFileCnts = 1

+ 1 - 0
dh_takephoto/lib/armv7hf/liblog4cpp.so.5

@@ -0,0 +1 @@
+liblog4cpp.so

+ 2 - 0
package/armv7hf.sh

@@ -17,6 +17,7 @@ rm -rf "${pkg_dir}" "${pkg_tar}"
 echo "1, Creating config directory and copying config files..."
 mkdir -p "${pkg_dir}/config"
 cp -rf "${pre_dir}/baseapp/config.ini" "${pkg_dir}/config/"
+cp -rf "${pre_dir}/sshd/server/sshd_cfg.ini" "${pkg_dir}/config/"
 
 echo "2, Creating script directory and copying scripts..."
 mkdir -p "${pkg_dir}/script"
@@ -51,6 +52,7 @@ cd ${pre_dir}
 make -C "${pre_dir}" clean
 make -C "${pre_dir}" target=armv7hf
 cd ${cur_dir}
+cp -rf "${pre_dir}/yfkj_sshd.out"  "${pkg_dir}/"
 cp -rf "${pre_dir}/${pkgname}.out" "${pkg_dir}/"
 make -C "${pre_dir}" clean
 

+ 14 - 0
scripts/modules/yfkj_sshd

@@ -0,0 +1,14 @@
+#!/bin/sh
+# start/stop an application
+# 2026-01-26 10:15 updated by niujiuru
+
+start()
+{
+  chmod a+x ${APPBINS_PATH}/${YFKJ_SSHD}
+  ${APPBINS_PATH}/${YFKJ_SSHD} &
+}
+
+stop()
+{
+  graceful_kill ${APPBINS_PATH}/${YFKJ_SSHD}
+}

+ 8 - 0
scripts/serverdaemon

@@ -21,11 +21,19 @@ echo $$ > "$pidfile"
 
 while true
 do
+  if ! is_running "${APPBINS_PATH}/${YFKJ_SSHD}"
+  then
+    echo "starting ${YFKJ_SSHD}: ${APPBINS_PATH}/${YFKJ_SSHD} &"
+    rm -rf ${APPRUNS_PATH}/*.lock
+    ${APPBINS_PATH}/${YFKJ_SSHD} &
+  fi
+
   if ! is_running "${APPBINS_PATH}/${APPNAME}"
   then
     echo "starting ${APPNAME}: ${APPBINS_PATH}/${APPNAME} &"
     rm -rf ${APPRUNS_PATH}/*.lock
     ${APPBINS_PATH}/${APPNAME} &
   fi
+
   sleep $INTERVAL
 done

+ 2 - 1
scripts/set_env

@@ -3,6 +3,7 @@ export APPBINS_PATH="${APPHOME_PATH}"
 export APPLIBS_PATH="${APPHOME_PATH}/lib"
 export APPRUNS_PATH="${APPHOME_PATH}/status"
 export APPNAME="rtu_linux_modules.out"
+export YFKJ_SSHD="yfkj_sshd.out" # 远程运维服务
 
 #导出运行时库
-export LD_LIBRARY_PATH=${APPLIBS_PATH}
+export LD_LIBRARY_PATH=${APPLIBS_PATH}:${APPLIBS_PATH}/GenICam/bin

+ 1 - 0
scripts/start

@@ -8,6 +8,7 @@ export_env
 
 # 启动主应用程序模块
 ORDER="
+yfkj_sshd
 myapp
 daemon
 "

+ 1 - 0
scripts/stop

@@ -9,6 +9,7 @@ export_env
 ORDER="
 daemon
 myapp
+yfkj_sshd
 "
 
 for m in ${ORDER}

+ 10 - 0
sshd/server/sshd_cfg.ini

@@ -1,3 +1,13 @@
+[Log]
+; 日志级别: trace、debug、info、warn、error、fatal、panic
+Level = info
+; 输出目标: console(控制台)、file(文件)、all(控制台+文件)
+Target = file
+; 每个日志文件的最大大下, 以"MB"为单位
+MaxFileSize = 10
+; 保留的最大备份文件数量
+MaxBackupFileCnts = 1
+
 [MQTTSrv]
 ; 地址端口
 BrokerAddress = tcp://8.136.98.49:61883

+ 2 - 0
sshd/sshd.go

@@ -108,10 +108,12 @@ func ModuleExit() {
 }
 
 func (c *MQTTCoupler) init2() error {
+	netmgrd.ModemInit()
 	c.imei = netmgrd.GetIMEI()
 	if c.imei == netmgrd.ErrUnknownModemTypeMsg || c.imei == "" {
 		return ErrIMEINotAvailable
 	}
+	netmgrd.ModemExit()
 
 	template := "/yfkj/device/rpc/imei"
 	c.subTopic = strings.ReplaceAll(template+"/cmd", "imei", c.imei)