diff --git a/app_control.sh b/app_control.sh index 0e1fc94..acf789a 100644 --- a/app_control.sh +++ b/app_control.sh @@ -2,31 +2,61 @@ VENV_DIR=".venv" PYTHON_APP="main.py" +LOG_FILE="output.log" +PID_FILE="app.pid" start_app() { + if [ ! -d "$VENV_DIR" ]; then + echo -e "\033[31m Virtual environment directory $VENV_DIR not found! \033[0m" + exit 1 + fi + + if [ ! -f "$PYTHON_APP" ]; then + echo -e "\033[31m Python application $PYTHON_APP not found! \033[0m" + exit 1 + fi + source "$VENV_DIR/bin/activate" - nohup python3 $PYTHON_APP > output.log 2>&1 & + nohup python3 "$PYTHON_APP" > "$LOG_FILE" 2>&1 & + echo $! > "$PID_FILE" echo -e "\033[32m Application started! \033[0m" } stop_app() { - pid=$(ps aux | grep $PYTHON_APP | grep -v grep | awk '{print $2}') - if [ -n "$pid" ]; then - kill $pid + if [ ! -f "$PID_FILE" ]; then + echo -e "\033[31m PID file not found! \033[0m" + exit 1 + fi + + pid=$(cat "$PID_FILE") + if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then + kill "$pid" + rm "$PID_FILE" echo -e "\033[32m Application ended! \033[0m" else - echo -e "\033[31m Application not runing! \033[0m" + echo -e "\033[31m Application not running or PID not found! \033[0m" fi } check_app_status() { - pid=$(ps aux | grep $PYTHON_APP | grep -v grep | awk '{print $2}') - if [ -n "$pid" ]; then - echo -e "PID:" $pid - echo -e "\033[32m Application runing! \033[0m" - else - echo -e "\033[31m Application not runing! \033[0m" + if [ ! -f "$PID_FILE" ]; then + echo -e "\033[31m Application not running! \033[0m" + exit 1 fi + + pid=$(cat "$PID_FILE") + if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then + echo -e "PID: $pid" + echo -e "\033[32m Application running! \033[0m" + else + echo -e "\033[31m Application not running! \033[0m" + fi +} + +restart_app() { + stop_app + start_app + echo -e "\033[32m Application restarted! \033[0m" } case "$1" in @@ -39,8 +69,11 @@ case "$1" in status) check_app_status ;; + restart) + restart_app + ;; *) - echo -e "\033[33m Usage: $0 {start|stop|status}\033[0m" + echo -e "\033[33m Usage: $0 {start|stop|status|restart} \033[0m" exit 1 ;; esac diff --git a/conf/app.ini b/conf/app.ini index 7d59260..93ce4b2 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -5,11 +5,11 @@ host=0.0.0.0 threaded=1 [database] -host=127.0.0.1 +host=172.16.0.4 port=3306 user=root -password=password +password=123456 database=fz_data [RSA] -key= \ No newline at end of file +key=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAN132X+pP8D0m/if/TzcPdhpHD+4xtjW0wgkhMZh+72FJAJ35CWMbMm71bDyTq370lVvy+Eahbm2fAMPy3hIJisWuTlQ8bqscRSxyUNoVVt30qSI2Rb/uNYc79Sm6rwWdLj+mgFBKJgqmH4UHHoc17SjXIDmaW5VMVHjpiMYkRvDAgMBAAECgYBFs+tZ8RhWMAaI7T3EMmMqogZYjdzTsWUw6mF5mKwlHWrUdgxxvu0cXwhmDRUzUA8Ggc2utuzAow0L36Q/4qFUF2x99okk3ACcJsLcVm3+Ou7fhu5jtq2G7VW2J3aIIxzNs85ZsdGRBb9leZ4OVgbBGIj//GqlRiGKhR8qZma9sQJBAPgC2nHO4sNowDTIE558uPe0jh9hgdZysFUpL3FKIlbibGHQ7D/QFUcYbYqBlYbm2WluVIKF0TL2OqteKzBdbHMCQQDkmh4r7d+lmLhhr/j+200bIeLIoytHwMNOJodCUMU3gg4m0PHOEMhZsXu6EgqLXYierV/JPMxnlK93W90BQI9xAkBqTfbKD26dabnxJc1bAoTaD/dXNhlMDS7N4fBm8+rSKQ1hxAZvt8ZXCf5x/udTwoFwMo1gwPERkf9F0wBaI8FHAkALZxicLlhahTylOsbbx4qYEN+kDGeLQ7U6P7e9ehPsSeN00jVNhw7HUpAOXvoBq5+18oX1nr+/Zu49sOpcNqExAkEA6uKRPmM4rsJVtXotC1gZJsYTrGlVtY3smKG2wWE/xsw0nqAaw/MdsOkrxpNxKa0IDSOtubtyD0PIQgC2HGT4kw== \ No newline at end of file diff --git a/db/fz_data.py b/db/fz_data.py index 35b871c..34e0be6 100644 --- a/db/fz_data.py +++ b/db/fz_data.py @@ -19,9 +19,9 @@ def saveFzData(data) -> bool: sql = """ INSERT INTO table_zhapian VALUES ( - %(uuid)s,%(callednm)s,%(zptype)s,%(zpfeatures)s,%(early_warning_time)s, - %(warninglevel)s,%(zpcallernm)s,%(talktime)s,%(auth_code)s,%(student_number)s, - %(transfer_amout)s,%(url_or_app_name)s,%(zp_account)s + %(uuid)s,%(callednm)s,%(isPushZkj)s,%(called_city_name)s,%(called_province_name)s,%(called_location_county)s, + %(insert_time)s,%(warninglevel)s,%(zpfeatures)s,%(url)s,%(data_source)s,%(url_or_app_name)s, + %(called_location_province)s,%(pushZkjTime)s,%(zp_ip_address)s,%(first_login_time)s,%(called_location_city)s ); """ conn = getConn() @@ -29,21 +29,26 @@ def saveFzData(data) -> bool: try: for message in data: message.setdefault("uuid",None) - message.setdefault("callednm",None) - message.setdefault("zptype",None) - message.setdefault("zpfeatures",None) - message.setdefault("early_warning_time",None) + message.setdefault("isPushZkj",None) + message.setdefault("called_city_name",None) + message.setdefault("called_province_name",None) + message.setdefault("called_location_county",None) + message.setdefault("insert_time",None) message.setdefault("warninglevel",None) - message.setdefault("zpcallernm",None) - message.setdefault("talktime",None) - message.setdefault("auth_code",None) - message.setdefault("student_number",None) - message.setdefault("transfer_amout",None) + message.setdefault("zpfeatures",None) + message.setdefault("url",None) + message.setdefault("data_source",None) message.setdefault("url_or_app_name",None) - message.setdefault("zp_account",None) + message.setdefault("called_location_province",None) + message.setdefault("pushZkjTime",None) + message.setdefault("zp_ip_address",None) + message.setdefault("first_login_time",None) + message.setdefault("called_location_city",None) + print("已保存",message.get("uuid")) cursor.execute(sql,message) conn.commit() - except: + except Exception as e: + print(e) return False conn.close() return True @@ -51,7 +56,7 @@ def saveFzData(data) -> bool: def LoadFzData(): "从数据库读取数据" sql = """ - SELECT * FROM `table_zhapian` ORDER BY `early_warning_time` DESC LIMIT 0,1000; + SELECT * FROM `table_zhapian` ORDER BY `insert_time` DESC LIMIT 0,1000; """ conn = getConn() cursor = conn.cursor() diff --git a/fz_data.sql b/fz_data.sql index 2833e62..01267df 100644 --- a/fz_data.sql +++ b/fz_data.sql @@ -11,7 +11,7 @@ Target Server Version : 101106 (10.11.6-MariaDB-0+deb12u1) File Encoding : 65001 - Date: 23/05/2024 10:53:04 + Date: 05/07/2024 23:19:08 */ SET NAMES utf8mb4; @@ -34,17 +34,21 @@ DROP TABLE IF EXISTS `table_zhapian`; CREATE TABLE `table_zhapian` ( `uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `callednm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zptype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zpfeatures` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `early_warning_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `warninglevel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zpcallernm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `talktime` int(11) NULL DEFAULT NULL, - `auth_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `student_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `transfer_amout` float NULL DEFAULT NULL, + `isPushZkj` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_city_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_province_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_location_county` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `insert_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `zpfeatures` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `data_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `url_or_app_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zp_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_location_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `pushZkjTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `zp_ip_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `first_login_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_location_city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`uuid`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; diff --git a/templates/log.html b/templates/log.html new file mode 100644 index 0000000..9c9e857 --- /dev/null +++ b/templates/log.html @@ -0,0 +1,22 @@ + + + +
+ + + + + + + +{{i}}
+ {% endfor %} + + + \ No newline at end of file diff --git a/templates/tables.html b/templates/tables.html index 5423e35..c93b15a 100644 --- a/templates/tables.html +++ b/templates/tables.html @@ -100,18 +100,22 @@