influx query ‘from(bucket: “byt-grid-data”)
|> range(start: 2025-04-01T00:00:00Z, stop: 2025-04-02T23:59:59Z)
|> filter(fn: ? => r[“_measurement”] == “byt-gzsn-hsxn-sc-dcs”)
|> filter(fn: ? => r[“_field”] == “F_ACT_FZZ02_FB_O”)
|> filter(fn: ? => r[“host”] == “host1”)
|> toFile(file: “/tmp/restored_data.csv”)’
influx query ‘from(bucket: “byt-grid-data”)
|> range(start: 2025-04-01T00:00:00Z, stop: 2025-04-01T00:59:59Z)
|> filter(fn: ? => r[“_measurement”] == “byt-gzsn-hsxn-sc-dcs”)
|> filter(fn: ? => r[“_field”] == “F_ACT_FZZ02_FB_O”)
|> filter(fn: ? => r[“host”] == “host1”)’ > /tmp/t001.csv
查詢InfluxDB并返回帶注釋的CSV
influx query ‘from(bucket: “byt-grid-data”)
|> range(start: 2025-04-10T00:00:00Z, stop: 2025-04-11T01:00:00Z)
|> filter(fn: ? => r[“_measurement”] == “byt-gzsn-hsxn-sc-dcs”)
|> filter(fn: ? => r[“_field”] == “F_ACT_FZZ02_FB_O”)
|> filter(fn: ? => r[“host”] == “host1”)
|> timeShift(duration: 8h)’ --raw > /tmp/t002.csv
influx query ‘from(bucket: “byt-grid-data”)
|> range(start: 2025-04-10T00:00:00+08:00, stop: 2025-04-11T00:00:00+08:00)
|> filter(fn: ? => r[“_measurement”] == “byt-gzsn-hsxn-sc-dcs”)
|> filter(fn: ? => r[“_field”] == “F_ACT_FZZ02_FB_O”)
|> filter(fn: ? => r[“host”] == “host1”)
|> timeShift(duration: 8h)’ --raw > /tmp/t002.csv
登陸ftp
lftp -u hl,Admin@123 -p 63036 122.224.62.130
執行腳本
2024.10.16 2025.4.8
sh /root/bin/export_influx.sh F_ACT_FZZ02_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G7MAC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G8MG_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_1K2AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G10MAC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K1AC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G12AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G13AC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh AIAO_G35M1_PV_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ01_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ02_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FDLD01_FG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ01_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K2AC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G12AC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ08_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh AIAO_G35M2_PV_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K1AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FDLD01_FG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F4AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G7MAC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G40AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G38AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G13AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G11AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K2AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F41AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ08_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F5AC_SDG_FB_O 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_1K2AC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G11AC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F41AC_SDG_SP_IN 2024-10-16 2025-04-09 /opt/influx_export/hsxn
2025.1.22 2025.4.8
sh /root/bin/export_influx.sh Current_G30M_CUN_U 2025-01-22 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F46AC_SDG_SP_IN 2025-01-22 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F46AC_SDG_FB_O 2025-01-22 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G8MG_SDG_FB_O 2025-01-22 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT04_U 2025-01-22 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G7MAC_CUN_U 2025-01-22 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G6MAC_SDG_SP_IN 2025-01-22 2025-04-09 /opt/influx_export/hsxn
2025-01-21 2025-03-02
sh /root/bin/export_influx.sh TT_GTT05_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh TT_GTT06_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_WY6_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K3A12_FG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC1_WY7_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F51M_SDG_FB_O 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT09_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_WY8_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_Others_FTT28B_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC1_WY2_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F52M_SDG_FB_O 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K4A12_FG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_WY3_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC1_WY4_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F52M_SDG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh AIAO_G35AC1_M2_P_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT11_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G17AC_SDG_FB_O 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh AIAO_G35AC2_M2_P_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_G18AC_PS1_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh AIAO_G35AC1_M1_P_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh AIAO_G35AC2_M3_P_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G15AC_SDG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh G45GP_G45GP_CUR5_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G35AC_SDG_FB_O 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh G45GP_G45GP_CUR4_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC1_WY9_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT24_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh AIAO_G35AC1_M3_P_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_WY1_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT10_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G14AC_SDG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_1K3A12_FG_FB_O 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G18AC_SOG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_9BP_PV_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh TT_GTT02_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_1K3A12_FG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_T_FTT02a_T_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_WY5_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_WY7_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_Others_FTT28A_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC1_WY1_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh G45GP_G45GP_CUR1_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT21_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC1_WY6_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_G17AC_PS1_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G14AC_SDG_FB_O 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh G45GP_G45GP_CUR6_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G17AC_SDG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G18AC_SOG_FB_O 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC2_WY4_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh TT_GTT03_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_F51M_SDG_SP_IN 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh BLJ_BC1_P_PV3_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh MILL_MOTOR_G17AC_CUN_1_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Current_G14AC_CUN_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Current_G13AC_CUN_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT29_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh MILL_MOTOR_G18AC_CUN_1_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Current_G16AC_CUN_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT31_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Current_G15AC_CUN_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT23_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT27_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT22_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT26_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT25_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT28_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Current_G12AC_CUN_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT30_U 2025-01-21 2025-03-02 /opt/influx_export/hsxn
2025-01-21 2025-04-09
sh /root/bin/export_influx.sh TT_GTT01_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh TT_GTT04_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G9MG_SDF_FB_O 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_2SPZZ01_SP_IN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G35AC_SDG_SP_IN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_T_FTT06_T_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_Pressure_FPT16_P_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_1K3A12_FG_EXT_EN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_GZZ04_SP_IN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G38AC_SDG_SP_IN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Pressure_GPT01_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G6MAC_CUN_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G6MAC_SDG_FB_O 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G9MG_SDF_SP_IN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K3A12_FG_FB_O 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_2SPZZ01_FB_O 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh ACT_G35AC_SDG_UNIT 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_ACT_2K4A12_FG_EXT_EN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh Current_G11AC_CUN_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ04_SP_IN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ03_FB_O 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ04_FB_O 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G10MAC_CUN_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh K_G_ACT_G9MG_CUN_U 2025-01-21 2025-04-09 /opt/influx_export/hsxn
sh /root/bin/export_influx.sh F_ACT_FZZ03_SP_IN 2025-01-21 2025-04-09 /opt/influx_export/hsxn
惠水西南邊緣端
核心腳本
/root/bin/export_influx.sh
#!/bin/bash# 使用方法: ./export_influx.sh <標簽名稱> <開始日期> <結束日期> <輸出目錄>
# 示例: ./export_influx.sh F_ACT_FZZ02_FB_O 2025-04-01 2025-04-03 ./outputif [ $# -ne 4 ]; thenecho "錯誤:參數數量不正確!"echo "用法: $0 <標簽名稱> <開始日期> <結束日期> <輸出目錄>"exit 1
fiTAG="$1"
START_DATE="$2"
END_DATE="$3"
OUTPUT_DIR="$4"# 創建輸出目錄
OUTPUT_DIR="$OUTPUT_DIR"/"$TAG"
mkdir -p "$OUTPUT_DIR"# 日期格式校驗
date -d "$START_DATE" +%Y-%m-%d >/dev/null 2>&1 || { echo "無效的開始日期格式"; exit 1; }
date -d "$END_DATE" +%Y-%m-%d >/dev/null 2>&1 || { echo "無效的結束日期格式"; exit 1; }# 將日期轉換為秒數(用于循環)
START_SEC=$(date -d "$START_DATE" +%s)
END_SEC=$(date -d "$END_DATE" +%s)if [ $START_SEC -gt $END_SEC ]; thenecho "錯誤:開始日期不能晚于結束日期!"exit 1
fi# 記錄開始時間
start_time_p=$(date +%s)
echo "開始時間: $(date -d @"$start_time_p" '+%Y-%m-%d %H:%M:%S')"# 按天循環處理
current_sec=$START_SEC
while [ $current_sec -lt $END_SEC ]; do# 獲取當前循環日期CURRENT_DATE=$(date -d @$current_sec +%Y-%m-%d)# 增加一天current_sec=$((current_sec + 86400))STOP_DATE=$(date -d @$current_sec +%Y-%m-%d)# 生成時間范圍(當日00:00:00到次日00:00:00)START_TIME="${CURRENT_DATE}T00:00:00+08:00"STOP_TIME="${STOP_DATE}T00:00:00+08:00"# 生成輸出文件名OUTPUT_FILE="${OUTPUT_DIR}/${CURRENT_DATE}.csv"echo "正在導出 ${CURRENT_DATE} 的數據到 ${OUTPUT_FILE}..."# 執行查詢命令influx query "from(bucket: \"byt-grid-data\")|> range(start: $START_TIME, stop: $STOP_TIME)|> filter(fn: (r) => r[\"_measurement\"] == \"byt-gzsn-hsxn-sc-dcs\")|> filter(fn: (r) => r[\"_field\"] == \"$TAG\")|> filter(fn: (r) => r[\"host\"] == \"host1\")|> timeShift(duration: 8h)" --raw > "$OUTPUT_FILE"# 檢查文件是否為空if [ ! -s "$OUTPUT_FILE" ]; thenecho "警告:${CURRENT_DATE} 無數據,刪除空文件"rm -f "$OUTPUT_FILE"fidoneecho "導出完成!"# 記錄結束時間
end_time_p=$(date +%s)# 計算耗時
elapsed_time=$((end_time_p - start_time_p))# 格式化耗時
days=$((elapsed_time / 60 / 60 / 24))
hours=$((elapsed_time / 60 / 60 % 24))
minutes=$((elapsed_time / 60 % 60))
seconds=$((elapsed_time % 60))# 打印耗時
echo "開始時間: $(date -d @"$start_time_p" '+%Y-%m-%d %H:%M:%S')"
echo "結束時間: $(date -d @"$end_time_p" '+%Y-%m-%d %H:%M:%S')"
printf "耗時: %02dd%02dh%02dm%02ds\n" $days $hours $minutes $seconds