|
|
@@ -40,26 +40,28 @@ func MakeUpdateScript(c *gin.Context) {
|
|
|
filename := c.DefaultQuery("filename", "")
|
|
|
if createsh() {
|
|
|
c.String(http.StatusOK, "正在执行升级, 升级会保留原有的config.yaml,且重启服务。注意:请勿刷新本页面。")
|
|
|
- time.Sleep(3 * time.Second)
|
|
|
- rx := regexp.MustCompile(`mtp20_access_*\.zip`) // mtp20_access_20221009092417.zip
|
|
|
- names := rx.FindStringSubmatch(filename)
|
|
|
- // 正则表达式检查文件名是否符合规范
|
|
|
- if len(names) > 0 && names[0] == filename {
|
|
|
- fmt.Println("filename:", filename)
|
|
|
- cmd := exec.Command("sh", "./update.sh", filename)
|
|
|
- fmt.Println("cmd param:", cmd.Args)
|
|
|
- cmd.Run()
|
|
|
- } else {
|
|
|
- _ = exec.Command("sh", "./update.sh").Run()
|
|
|
- }
|
|
|
- println("执行脚本")
|
|
|
+ go runch(filename)
|
|
|
} else {
|
|
|
- println("创建脚本失败, 可能是权限不足")
|
|
|
c.String(http.StatusBadRequest, "创建脚本失败, 可能是权限不足")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func runch(filename string) {
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ rx := regexp.MustCompile(`mtp20_access_*\.zip`) // mtp20_access_20221009092417.zip
|
|
|
+ names := rx.FindStringSubmatch(filename)
|
|
|
+ // 正则表达式检查文件名是否符合规范
|
|
|
+ if len(names) > 0 && names[0] == filename {
|
|
|
+ fmt.Println("filename:", filename)
|
|
|
+ cmd := exec.Command("sh", "./update.sh", filename)
|
|
|
+ fmt.Println("cmd param:", cmd.Args)
|
|
|
+ cmd.Run()
|
|
|
+ } else {
|
|
|
+ _ = exec.Command("sh", "./update.sh").Run()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 生成update.sh文件
|
|
|
func createsh() bool {
|
|
|
dir := ""
|