check_env.go 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package auto
  2. import (
  3. "fmt"
  4. "xg_auto_deploy/internal/global"
  5. "xg_auto_deploy/internal/models"
  6. "xg_auto_deploy/internal/remote"
  7. )
  8. func CheckSysEnv(nodeTemp *models.ServerNodeConfig) {
  9. send := func(cmd string, flag *string) {
  10. _, err := remote.SingleCmd(nodeTemp, cmd)
  11. if err != nil {
  12. *flag = "未设置"
  13. }
  14. *flag = "已配置"
  15. }
  16. send(`grep "net.core.wmem_default = 2097152" /etc/sysctl.conf`, &nodeTemp.CoreWmemDefault)
  17. send(`grep "net.core.rmem_default = 2097152" /etc/sysctl.conf`, &nodeTemp.CoreRmemDefault)
  18. send(`grep "net.core.rmem_max = 8388608" /etc/sysctl.conf`, &nodeTemp.CoreRmemMax)
  19. send(`grep "net.core.wmem_max = 8388608" /etc/sysctl.conf`, &nodeTemp.CoreWmemMax)
  20. send(`grep "ulimit -s 20480" /etc/profile`, &nodeTemp.OsOpenFiles)
  21. send(`grep "ulimit -n 10240" /etc/profile`, &nodeTemp.OsStackSize)
  22. }
  23. func modifySysEnv(nodeTemp *models.ServerNodeConfig, cmd string) {
  24. send := func(cmd string) {
  25. _, err := remote.SingleCmd(nodeTemp, cmd)
  26. if err != nil {
  27. }
  28. }
  29. send(`echo "net.core.wmem_default = 2097152" | sudo tee -a /etc/sysctl.conf`)
  30. send(`echo "net.core.rmem_default = 2097152" | sudo tee -a /etc/sysctl.conf`)
  31. send(`echo "net.core.rmem_max = 8388608" | sudo tee -a /etc/sysctl.conf`)
  32. send(`echo "net.core.wmem_max = 8388608" | sudo tee -a /etc/sysctl.conf`)
  33. send(`echo "ulimit -s 20480" | sudo tee -a /etc/profile`)
  34. send(`echo "ulimit -n 10240" | sudo tee -a /etc/profile`)
  35. send("sysctl -p /etc/sysctl.conf")
  36. send("source /etc/profile")
  37. }
  38. func checkAppEnv(nodeTemp *models.ServerNodeConfig) {
  39. //var temp string
  40. // 执行命令检查文件夹路径是否存在
  41. cmd := fmt.Sprintf("if [ ! -d %s ]; then mkdir -p %s; fi", nodeTemp.TargetFile, nodeTemp.TargetFile)
  42. _, err := remote.SingleCmd(nodeTemp, cmd)
  43. if err != nil {
  44. global.Logs.Error("无法创建路径targetFile文件夹:", err)
  45. return
  46. }
  47. _, err = remote.SingleCmd(nodeTemp, "gcc --version")
  48. if err != nil {
  49. //xgad.errors = append(xgad.errors, fmt.Sprintf("节点%s :gcc未安装", nodeTemp.ID))
  50. //xgad.setErrors(fmt.Sprintf("节点%s :gcc未安装", nodeTemp.ID))
  51. nodeTemp.AppConfig.Gcc = "0"
  52. global.Logs.Warnf("%s: gcc未安装", nodeTemp.ID)
  53. } else {
  54. global.Logs.Printf("%s:gcc已安装", nodeTemp.ID)
  55. }
  56. _, err = remote.SingleCmd(nodeTemp, "rpm -q libaio")
  57. if err != nil {
  58. //xgad.setErrors(fmt.Sprintf("节点%s :libaio未安装", nodeTemp.ID))
  59. nodeTemp.AppConfig.Libaio = "0"
  60. global.Logs.Warnf("%s: libaio未安装", nodeTemp.ID)
  61. } else {
  62. }
  63. _, err = remote.SingleCmd(nodeTemp, "snmpd -v")
  64. if err != nil {
  65. //xgad.setErrors(fmt.Sprintf("节点%s :snmpd未安装", nodeTemp.ID))
  66. nodeTemp.AppConfig.Snmpd = "0"
  67. global.Logs.Warnf("%s节点:snmpd未安装", nodeTemp.ID)
  68. } else {
  69. }
  70. _, err = remote.SingleCmd(nodeTemp, "ntpd --version")
  71. if err != nil {
  72. // xgad.setErrors(fmt.Sprintf("节点%s :ntpd未安装", nodeTemp.ID))
  73. nodeTemp.AppConfig.Ntpd = "0"
  74. global.Logs.Warnf("%s节点: ntpd未安装", nodeTemp.ID)
  75. } else {
  76. }
  77. }