diff --git a/README.md b/README.md
index aaac334..d0ef2c2 100644
--- a/README.md
+++ b/README.md
@@ -77,6 +77,11 @@
```
+
+ 计划任务:备份脚本、服务重启,等定期运维任务。
+
+使用此功能可以定期结合 restic、rclone 给服务器备份,或者定期某项重启服务来重置网络连接。
+
报警通知:CPU、内存、硬盘、带宽、流量实时监控。
@@ -205,16 +210,13 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
## 变更日志
-最新:`dashboard 0.3.0` `agent 0.3.0`,只记录最后一次更新导致必须更新面板的说明。
+只保留最后一次更新导致必须更新面板的说明。
+
+- `agent 0.3.1`
+
+ - 0.3.0 的更新的一个问题导致 Windows 用户的 Agent 无法自动更新,需要下载 0.3.1 或更新的 release 手动替换掉二进制文件。
+ - 增加了对 mips(路由器) 的支持,在 release 处下载后手动配置
- `dashboard 0.3.0` `agent 0.3.0` **重大更新**
增加了定时任务功能,可以定时在 Agent 上执行脚本(应用于定期备份、重启服务等计划运维场景)
-
-- `dashboard 0.2.0` `agent 0.2.0` **重大更新**
-
- 增加了服务监控(TCP端口延迟、Ping、HTTP-SSL 证书)功能,此版本 Agent 与旧面板不兼容,而 Agent 是通过 GitHub Release 自动更新的 所以务必更新面板开启最新功能。
-
-- `0.1.23` 新增 IP 变更通知功能
-
- 在后台设置界面启用。
diff --git a/cmd/dashboard/main.go b/cmd/dashboard/main.go
index 131fed3..7ee6b8c 100644
--- a/cmd/dashboard/main.go
+++ b/cmd/dashboard/main.go
@@ -5,6 +5,7 @@ import (
"time"
"github.com/patrickmn/go-cache"
+ "github.com/robfig/cron/v3"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
@@ -17,8 +18,17 @@ import (
)
func init() {
- var err error
+ shanghai, err := time.LoadLocation("Asia/Shanghai")
+ if err != nil {
+ panic(err)
+ }
+
+ // 初始化 dao 包
dao.Conf = &model.Config{}
+ dao.Cron = cron.New(cron.WithLocation(shanghai))
+ dao.Crons = make(map[uint64]*model.Cron)
+ dao.ServerList = make(map[uint64]*model.Server)
+
err = dao.Conf.Read("data/config.yaml")
if err != nil {
panic(err)
@@ -31,6 +41,7 @@ func init() {
dao.DB = dao.DB.Debug()
}
dao.Cache = cache.New(5*time.Minute, 10*time.Minute)
+
initSystem()
}
diff --git a/go.mod b/go.mod
index 2ac360e..51ea4d3 100644
--- a/go.mod
+++ b/go.mod
@@ -14,7 +14,7 @@ require (
github.com/gorilla/websocket v1.4.2
github.com/onsi/ginkgo v1.7.0 // indirect
github.com/onsi/gomega v1.4.3 // indirect
- github.com/p14yground/go-github-selfupdate v0.0.0-20201212172144-81a03b17860d
+ github.com/p14yground/go-github-selfupdate v1.2.3-0.20210119020835-db3523c6834b
github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/robfig/cron/v3 v3.0.1
github.com/shirou/gopsutil/v3 v3.20.11
diff --git a/go.sum b/go.sum
index 571dcce..d222909 100644
--- a/go.sum
+++ b/go.sum
@@ -263,8 +263,8 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.4.3 h1:RE1xgDvH7imwFD45h+u2SgIfERHlS2yNG4DObb5BSKU=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/p14yground/go-github-selfupdate v0.0.0-20201212172144-81a03b17860d h1:ai2qidqUoF21+yU2Wuf7xpeKX3GgmxorX1zVxqzErG0=
-github.com/p14yground/go-github-selfupdate v0.0.0-20201212172144-81a03b17860d/go.mod h1:7y6sHyZEF3inm1D+kaS5R72hbYgmhNJffyEEEJIplfk=
+github.com/p14yground/go-github-selfupdate v1.2.3-0.20210119020835-db3523c6834b h1:jZAmPgstP0RHusZs3uOAL/xbz0IjRb7k0INXFHmf50s=
+github.com/p14yground/go-github-selfupdate v1.2.3-0.20210119020835-db3523c6834b/go.mod h1:unC1eanNdTd2fUViujtg9cDR/jNnYNvGmFYjIXz1hK4=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
@@ -332,8 +332,8 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
-github.com/ulikunitz/xz v0.5.5 h1:pFrO0lVpTBXLpYw+pnLj6TbvHuyjXMfjGeCwSqCVwok=
-github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8=
+github.com/ulikunitz/xz v0.5.9 h1:RsKRIA2MO8x56wkkcd3LbtcE/uMszhb6DpRf+3uwa3I=
+github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -458,6 +458,7 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -487,6 +488,8 @@ golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
+golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
diff --git a/service/dao/dao.go b/service/dao/dao.go
index 8abc536..b6f36df 100644
--- a/service/dao/dao.go
+++ b/service/dao/dao.go
@@ -3,7 +3,6 @@ package dao
import (
"sort"
"sync"
- "time"
"github.com/patrickmn/go-cache"
"github.com/robfig/cron/v3"
@@ -37,16 +36,6 @@ var Cron *cron.Cron
var Version = "v0.3.0"
-func init() {
- shanghai, err := time.LoadLocation("Asia/Shanghai")
- if err != nil {
- panic(err)
- }
- Cron = cron.New(cron.WithLocation(shanghai))
- Crons = make(map[uint64]*model.Cron)
- ServerList = make(map[uint64]*model.Server)
-}
-
func ReSortServer() {
ServerLock.RLock()
defer ServerLock.RUnlock()