| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package main
- import (
- "time"
- baseapp "hnyfkj.com.cn/rtu/linux/baseapp"
- netmgrd "hnyfkj.com.cn/rtu/linux/netmgrd"
- )
- const MODULE_NAME = "TimeSync"
- func main() {
- baseapp.InitLogger("")
- for {
- _, pingOK, tcpOK, _, httpTime := netmgrd.CheckNetwork()
- netOK := tcpOK || pingOK
- if !netOK {
- time.Sleep(time.Second)
- continue
- }
- var err error
- if !httpTime.IsZero() { // 优先使用HTTP时间, 实测速度快且精度高
- err = netmgrd.SetSystemTime(httpTime)
- }
- if httpTime.IsZero() || err != nil {
- err = netmgrd.SyncNTPTime() // 同步HTTP时间失败, 尝试NTP同步
- }
- if err != nil {
- baseapp.Logger.Errorf("[%s] Error synchronizing system time: %v!!", MODULE_NAME, err)
- time.Sleep(time.Second)
- continue
- }
- baseapp.Logger.Infof("[%s] ✅ System time synchronized successfully: %s", MODULE_NAME, time.Now().Format("2006-01-02 15:04:05"))
- time.Sleep(time.Hour)
- }
- }
|