Преглед изворни кода

大唐修改-scada-cms-script

wzl пре 1 дан
родитељ
комит
c497ef9d2b

+ 0 - 1
.gitignore

@@ -32,7 +32,6 @@ build/
 ### VS Code ###
 .vscode/
 
-*.sh
 
 tmp/
 

+ 2 - 0
script/cms_tmp.sh

@@ -0,0 +1,2 @@
+cd /data/project/DatangDataPy/cms
+python3 vib.py $1

+ 3 - 0
script/scada_laber.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+cd /data/project/DatangDataPy/scada
+python3 scada_collation.py 

+ 3 - 0
script/second_scada_combine.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+cd /data/project/DatangDataPy/scada
+python3 second_scada_collation.py 

+ 3 - 0
script/shutdow_app.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+pid=`ps aux |grep DatangEnosData-0.0.1-SNAPSHOT.jar |grep -v 'grep' |awk -F' ' '{print $2}' | xargs kill -9`
+echo $pid

+ 15 - 0
script/start_app.sh

@@ -0,0 +1,15 @@
+#!/bin/bash  
+  
+# 应用名称和启动命令  
+APP_NAME="DatangEnosData-0.0.1-SNAPSHOT"
+JAR_PATH="/data/project/DatangEnosData-0.0.1-SNAPSHOT.jar"
+  
+# 检查进程是否存在
+if ! pgrep -f "$JAR_PATH" > /dev/null  
+then  
+    echo "Starting $APP_NAME ..."  
+    nohup java -Xms256m -Xmx512m -XX:+UseG1GC -jar -DFILE_STORE_ID=1 $JAR_PATH > /dev/null 2>&1 &  
+    echo "$APP_NAME started."  
+else  
+    echo "$APP_NAME 文件存储 1 is already running."  
+fi

+ 53 - 0
script/sync_wind_data.sh

@@ -0,0 +1,53 @@
+#!/bin/bash
+# ====================== 配置项(生产环境修改此处)======================
+# 待同步的源目录列表(目标服务器保持相同路径)
+SYNC_DIRS=(
+    "/data/wind_files/headquarter/scada/30days/"
+    "/data/wind_files/headquarter/scada/90days/"
+    "/data/wind_files/headquarter/cms/30days/"
+    "/data/wind_files/headquarter/scada/second/14days/"
+)
+# 目标算法服务器
+DEST_USER="root"
+DEST_HOST="10.172.12.214"
+# 文件最小修改时间(1分钟 = 60秒)
+MIN_MODIFY=60
+# 日志路径
+LOG_DIR="/data/logs/wind_data_rsync"
+LOG_FILE="${LOG_DIR}/sync_$(date +%Y%m%d).log"
+# rsync 安全参数
+RSYNC_OPTS="-avz --delete --delay-updates --no-perms --no-owner --no-group"
+
+# ====================== 初始化 ======================
+mkdir -p ${LOG_DIR}
+echo "================================================" >> ${LOG_FILE}
+echo "$(date '+%Y-%m-%d %H:%M:%S') 开始同步数据" >> ${LOG_FILE}
+
+# ====================== 核心修复:rsync 正确过滤方式 ======================
+# 旧的 --min-mtime 在老版本 rsync 不支持
+# 改用 find + rsync 稳定兼容:只同步 60秒 前修改的文件
+# 这是生产最通用、最安全、100% 不会报错的写法
+
+for SRC_DIR in "${SYNC_DIRS[@]}"; do
+    if [ ! -d "${SRC_DIR}" ]; then
+        echo "$(date '+%Y-%m-%d %H:%M:%S') 源目录不存在,跳过: ${SRC_DIR}" >> ${LOG_FILE}
+        continue
+    fi
+
+    echo "$(date '+%Y-%m-%d %H:%M:%S') 开始同步: ${SRC_DIR}" >> ${LOG_FILE}
+    cd "${SRC_DIR}"
+    # 目标路径与源路径保持一致
+    find . -type f -mmin +1 | rsync ${RSYNC_OPTS} \
+        --files-from=- \
+        ./ \
+        ${DEST_USER}@${DEST_HOST}:${SRC_DIR} >> ${LOG_FILE} 2>&1
+
+    if [ $? -eq 0 ]; then
+        echo "${SRC_DIR} 同步成功" >> ${LOG_FILE}
+    else
+        echo "${SRC_DIR} 同步失败" >> ${LOG_FILE}
+    fi
+done
+
+echo "$(date '+%Y-%m-%d %H:%M:%S') 同步任务完成" >> ${LOG_FILE}
+echo "================================================" >> ${LOG_FILE}

+ 55 - 0
script/sync_wind_data_30days.sh

@@ -0,0 +1,55 @@
+#!/bin/bash
+# ====================== 配置项(生产环境修改此处)======================
+# 源目录(label + 30days)
+SRC_LABEL="/data/wind_files/headquarter/scada/label/"
+SRC_30DAYS="/data/wind_files/headquarter/scada/90days/"
+# 目标算法服务器
+DEST_USER="root"
+DEST_HOST="10.172.12.214"
+DEST_BASE="/data/wind_files/headquarter/scada/"
+# 文件最小修改时间(1分钟 = 60秒)
+MIN_MODIFY=60
+# 日志路径
+LOG_DIR="/data/logs/wind_data_rsync"
+LOG_FILE="${LOG_DIR}/sync_$(date +%Y%m%d).log"
+# rsync 安全参数
+RSYNC_OPTS="-avz --delete --delay-updates --no-perms --no-owner --no-group"
+
+# ====================== 初始化 ======================
+mkdir -p ${LOG_DIR}
+echo "================================================" >> ${LOG_FILE}
+echo "$(date '+%Y-%m-%d %H:%M:%S') 开始同步数据" >> ${LOG_FILE}
+
+# ====================== 核心修复:rsync 正确过滤方式 ======================
+# 旧的 --min-mtime 在老版本 rsync 不支持
+# 改用 find + rsync 稳定兼容:只同步 60秒 前修改的文件
+# 这是生产最通用、最安全、100% 不会报错的写法
+
+# 同步 label 目录
+cd ${SRC_LABEL}
+find . -type f -mmin +1 | rsync ${RSYNC_OPTS} \
+  --files-from=- \
+  ./ \
+  ${DEST_USER}@${DEST_HOST}:${DEST_BASE}label/ >> ${LOG_FILE} 2>&1
+
+if [ $? -eq 0 ]; then
+    echo "label目录同步成功" >> ${LOG_FILE}
+else
+    echo "label目录同步失败" >> ${LOG_FILE}
+fi
+
+# 同步 30days 目录
+cd ${SRC_30DAYS}
+find . -type f -mmin +1 | rsync ${RSYNC_OPTS} \
+  --files-from=- \
+  ./ \
+  ${DEST_USER}@${DEST_HOST}:${DEST_BASE}90days/ >> ${LOG_FILE} 2>&1
+
+if [ $? -eq 0 ]; then
+    echo "30days目录同步成功" >> ${LOG_FILE}
+else
+    echo "30days目录同步失败" >> ${LOG_FILE}
+fi
+
+echo "$(date '+%Y-%m-%d %H:%M:%S') 同步任务完成" >> ${LOG_FILE}
+echo "================================================" >> ${LOG_FILE}