package auto import ( "fmt" "xg_auto_deploy/internal/global" "xg_auto_deploy/internal/models" "xg_auto_deploy/internal/remote" ) func CheckSysEnv(nodeTemp *models.ServerNodeConfig) { send := func(cmd string, flag *string) { _, err := remote.SingleCmd(nodeTemp, cmd) if err != nil { *flag = "未设置" } *flag = "已配置" } send(`grep "net.core.wmem_default = 2097152" /etc/sysctl.conf`, &nodeTemp.CoreWmemDefault) send(`grep "net.core.rmem_default = 2097152" /etc/sysctl.conf`, &nodeTemp.CoreRmemDefault) send(`grep "net.core.rmem_max = 8388608" /etc/sysctl.conf`, &nodeTemp.CoreRmemMax) send(`grep "net.core.wmem_max = 8388608" /etc/sysctl.conf`, &nodeTemp.CoreWmemMax) send(`grep "ulimit -s 20480" /etc/profile`, &nodeTemp.OsOpenFiles) send(`grep "ulimit -n 10240" /etc/profile`, &nodeTemp.OsStackSize) } func modifySysEnv(nodeTemp *models.ServerNodeConfig, cmd string) { send := func(cmd string) { _, err := remote.SingleCmd(nodeTemp, cmd) if err != nil { } } send(`echo "net.core.wmem_default = 2097152" | sudo tee -a /etc/sysctl.conf`) send(`echo "net.core.rmem_default = 2097152" | sudo tee -a /etc/sysctl.conf`) send(`echo "net.core.rmem_max = 8388608" | sudo tee -a /etc/sysctl.conf`) send(`echo "net.core.wmem_max = 8388608" | sudo tee -a /etc/sysctl.conf`) send(`echo "ulimit -s 20480" | sudo tee -a /etc/profile`) send(`echo "ulimit -n 10240" | sudo tee -a /etc/profile`) send("sysctl -p /etc/sysctl.conf") send("source /etc/profile") } func checkAppEnv(nodeTemp *models.ServerNodeConfig) { //var temp string // 执行命令检查文件夹路径是否存在 cmd := fmt.Sprintf("if [ ! -d %s ]; then mkdir -p %s; fi", nodeTemp.TargetFile, nodeTemp.TargetFile) _, err := remote.SingleCmd(nodeTemp, cmd) if err != nil { global.Logs.Error("无法创建路径targetFile文件夹:", err) return } _, err = remote.SingleCmd(nodeTemp, "gcc --version") if err != nil { //xgad.errors = append(xgad.errors, fmt.Sprintf("节点%s :gcc未安装", nodeTemp.ID)) //xgad.setErrors(fmt.Sprintf("节点%s :gcc未安装", nodeTemp.ID)) nodeTemp.AppConfig.Gcc = "0" global.Logs.Warnf("%s: gcc未安装", nodeTemp.ID) } else { global.Logs.Printf("%s:gcc已安装", nodeTemp.ID) } _, err = remote.SingleCmd(nodeTemp, "rpm -q libaio") if err != nil { //xgad.setErrors(fmt.Sprintf("节点%s :libaio未安装", nodeTemp.ID)) nodeTemp.AppConfig.Libaio = "0" global.Logs.Warnf("%s: libaio未安装", nodeTemp.ID) } else { } _, err = remote.SingleCmd(nodeTemp, "snmpd -v") if err != nil { //xgad.setErrors(fmt.Sprintf("节点%s :snmpd未安装", nodeTemp.ID)) nodeTemp.AppConfig.Snmpd = "0" global.Logs.Warnf("%s节点:snmpd未安装", nodeTemp.ID) } else { } _, err = remote.SingleCmd(nodeTemp, "ntpd --version") if err != nil { // xgad.setErrors(fmt.Sprintf("节点%s :ntpd未安装", nodeTemp.ID)) nodeTemp.AppConfig.Ntpd = "0" global.Logs.Warnf("%s节点: ntpd未安装", nodeTemp.ID) } else { } }