From 7c811247ecf143e08c576986a884bedadc57dd66 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期五, 05 六月 2020 18:29:41 +0800 Subject: [PATCH] add refresh token to resp --- extend/sys/system.go | 100 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 84 insertions(+), 16 deletions(-) diff --git a/extend/sys/system.go b/extend/sys/system.go index cccba7e..3689ea7 100644 --- a/extend/sys/system.go +++ b/extend/sys/system.go @@ -18,12 +18,12 @@ pwd := config.Server.SudoPassword cmdStr := fmt.Sprintf("echo %s | sudo -S %s", pwd, cmd) - return exec.Command("/bin/sh", "-c", cmdStr).Output() + return exec.Command("/bin/bash", "-c", cmdStr).Output() } // 妫�鏌� root鏉冮檺 func CheckRootPermissions() bool { - showRootCMD := exec.Command("/bin/sh", "-c", "ls /root/") + showRootCMD := exec.Command("/bin/bash", "-c", "ls /root/") if _, err := showRootCMD.Output(); err != nil { return false } @@ -61,7 +61,7 @@ // 鑾峰彇鏈満缃戝叧ip func GetDefaultRoute(networkName string) (route string, err error) { - cmdStr := fmt.Sprintf("ip route show | grep -P \"^default.*%s\" | awk '{printf $3}'", networkName) + cmdStr := fmt.Sprintf("ip route show | grep -P \"^default.*%s onlink\" | awk '{printf $3}'", networkName) cmd := exec.Command("/bin/sh", "-c", cmdStr) b, err := cmd.Output() if err != nil { @@ -83,7 +83,7 @@ // 閰嶇疆鏈嶅姟鍣ㄧ綉缁� func SetNetworkConfig(ipv4, netmask, gateway, dns string) (bool, string) { - networkConfigScript := "/opt/vasystem/bin/netconfig" + networkConfigScript := "/opt/vasystem/script/netconfig" ifname := config.Server.NetworkAdapter localIPv4, localNetMask, _ := GetLocalIP(ifname) localGW, _ := GetDefaultRoute(ifname) @@ -119,8 +119,7 @@ func NTPConfig() (bool, string, string) { status, server, interval := false, "", "" - cmd := exec.Command("/bin/sh", "-c", "crontab -l | grep ntpdate | tr -d '\n'") - cron, _ := cmd.Output() + cron, _ := execRootCommand("crontab -l | grep ntpdate | tr -d '\n'") if task := string(cron); task != "" { status = true slice := strings.Split(task, " ") @@ -160,8 +159,6 @@ return false } - // args := []string{"-s", newTime} - // exec.Command("date", args...).Run() dateCMD := fmt.Sprintf("date -s \"%s\"", newTime) execRootCommand(dateCMD) stopNTPCron() @@ -169,7 +166,7 @@ return true } -const NTPCRONTABFILE = "~/.webServer.crontab" +const NTPCRONTABFILE = "/tmp/.webServer.crontab" func EnableNTPCron(server string, interval int) bool { stopNTPCron() @@ -178,24 +175,32 @@ return false } - addTask := fmt.Sprintf("echo \"*/%d * * * * /usr/sbin/ntpdate %s\" >> %s; crontab %s", interval, server, NTPCRONTABFILE, NTPCRONTABFILE) - exec.Command("/bin/sh", "-c", addTask).Run() + update := fmt.Sprintf("echo \"*/%d * * * * /usr/sbin/ntpdate %s\" >> %s", interval, server, NTPCRONTABFILE) + execRootCommand(update) + + addNTPTask := fmt.Sprintf("crontab %s", NTPCRONTABFILE) + execRootCommand(addNTPTask) return true } func stopNTPCron() { - cleanTask := fmt.Sprintf("crontab -l | grep -v /usr/sbin/ntpdate > %s; crontab %s", NTPCRONTABFILE, NTPCRONTABFILE) - exec.Command("/bin/sh", "-c", cleanTask).Run() + update := fmt.Sprintf("crontab -l | grep -v /usr/sbin/ntpdate > %s", NTPCRONTABFILE) + execRootCommand(update) + + cleanNTPTask := fmt.Sprintf("crontab %s", NTPCRONTABFILE) + execRootCommand(cleanNTPTask) } -func RunNTPDate(server string) (bool, error) { +func RunNTPDate(server string) bool { if ip := net.ParseIP(server); ip == nil { - return false, errors.New("鍙傛暟閿欒") + return false } ntpdate := fmt.Sprintf("/usr/sbin/ntpdate %s", server) - return true, exec.Command("/bin/sh", "-c", ntpdate).Run() + _, err := execRootCommand(ntpdate) + + return err == nil } func Reboot() (bool, string) { @@ -203,3 +208,66 @@ return err == nil, string(stdout) } + +// * * * * * /bin/echo "$(date) Perform basic-reboot-task" >> /tmp/webserver.crontab.log;/sbin/reboot & >> /tmp/webserver.crontab.log +func ReadRebootTaskInCrontab() (bool, string) { + stdout, err := execRootCommand("crontab -l | grep basic-reboot-task | sed -z -r 's/([^0-9* ]+)(.+)//g'") + return err == nil, string(stdout) +} + +func CleanRebootTask() { + update := fmt.Sprintf("crontab -l | grep -v basic-reboot-task > %s", NTPCRONTABFILE) + execRootCommand(update) + + crontab := fmt.Sprintf("crontab %s", NTPCRONTABFILE) + execRootCommand(crontab) +} + +func UpdateRebootTask(task string) bool { + CleanRebootTask() + + tasks := fmt.Sprintf("%s /bin/echo \"$(date) Perform basic-reboot-task\" >> /tmp/webserver.crontab.log;/sbin/reboot & >> /tmp/webserver.crontab.log", task) + update := fmt.Sprintf("echo '%s' >> %s", tasks, NTPCRONTABFILE) + execRootCommand(update) + addNTPTask := fmt.Sprintf("crontab %s", NTPCRONTABFILE) + _, err := execRootCommand(addNTPTask) + + return err == nil +} + +const ngConfig = "/opt/vasystem/config/system-2.0.conf" +func GetNginxListenPort() string { + _, err := os.Stat(ngConfig) + if err != nil { + return "7003" + } + + cmdStr := fmt.Sprintf("cat %s | grep listen | awk '{printf $2}' | sed 's/;//g'", ngConfig) + cmd := exec.Command("/bin/sh", "-c", cmdStr) + port, err := cmd.Output() + if err != nil { + return "" + } + + return string(port) +} + +func SetNginxListenPort(port string) bool { + _, err := os.Stat(ngConfig) + if err != nil { + return false + } + + // 淇敼閰嶇疆鏂囦欢绔彛 + cmdStr := fmt.Sprintf("sed -i 's/listen.*/listen %s;/' %s", port, ngConfig) + cmd := exec.Command("/bin/sh", "-c", cmdStr) + _, err = cmd.Output() + if err != nil { + return false + } + + // 閲嶅惎nginx + _, err = execRootCommand("service nginx reload") + + return err == nil +} \ No newline at end of file -- Gitblit v1.8.0