FineDataLink伺服器時間和資料庫時間不一致

  • 文檔創建者:Roxy
  • 編輯次數:6
  • 最近更新:Jack.Li 于 2025-07-17
  • 1. 概述

    1.1 應用場景

    部署工程時,可能會使用多個不同的伺服器,部署多個工程節點、叢集組件、外接配置庫等。

    使用者必須確定這些伺服器的時區一致,否則可能導致部署失敗、啟動失敗、取數異常等。

    問題一:使用者讀寫任務資料源為 MySQL 資料庫,FineDataLink中「資料預覽」查看的日期資料和資料庫資料時間不一致。

    問題二:定時任務設定了執行頻率,但並沒有按照設定的頻率執行(使用者伺服器時間不準導致)。

    1.2 解決方案

    本文以 Ubuntu 系統為例,簡單介紹如何使用命令行調整系統時區。

    其他類型作業系統版本命令可能略有差別,請自行查閱資料處理。

    2. 操作步驟

    2.1 查看當前時區

    開啟終端,輸入以下命令來查看當前系統的時區設定:

    timedatectl

    1717480602idNf.png

    2.2 列出所有可用的時區

    如果想查看所有可用的時區列表,可以使用以下命令:

    timedatectl list-timezones

    也可以使用 grep 命令來幫助搜尋特定的城市,例如:

    timedatectl list-timezones | grep Shanghai

    1717480607J4oz.png

    2.3 設定系統時區

    當你決定使用哪個時區後,可以用以下命令來設定系統時區:

    請將 Asia/Shanghai 取代為你選擇的時區。這個命令會立即更新系統的時區。

    sudo timedatectl set-timezone Asia/Shanghai

    1717480616yCfU.png

    2.4 驗證時區更改生效

    再次運作 timedatectl 命令來確認時區已經正確更新:

    確認匯出顯示的時區已經是你設定的新時區。

    timedatectl

    1717480622d22t.png

    3. 內容擴展

    建議使用者在 jvm 中也加上時區參數。

    需要使用JPS -v查詢 jvm 參數,查看是否有額外設定時區。如下圖所示:

    1730451104677609.png

    若沒有額外設定時區:

    1)Linux 系統中:%Tomcat%/bin目錄下的catalina.sh/setenv.sh檔案中新增配置,配置完成後重啟工程。

    -Duser.timezone=Asia/Shanghai

    2)Windows 系統中:%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啟工程。

    -Duser.timezone=Asia/Shanghai

    -Duser.timezone=Asia/Shanghai 這句話儘量加在檔案的開頭,與其他自訂的 jvm 參數放在一起。如下圖所示:

    10.png

    附件列表


    主題: 資料開發-定時任務
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!