You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.9 KiB

package main
import (
"dsTools/Utils/ConfigUtil"
"dsTools/Utils/SftpUtil"
"dsTools/Utils/SshUtil"
"io/ioutil"
"log"
)
func main() {
//声明远端SSH管理器
cli := SshUtil.New(ConfigUtil.DistributeIp, ConfigUtil.DistributeUser, ConfigUtil.DistributePwd, int(ConfigUtil.DistributePort))
//杀掉进程
cli.Run("mkdir /usr/local/dsMin/dsTools -p")
cli.Run("mkdir /usr/local/logstash/sql -p")
cli.Run("ps -ef |grep dsTools |awk '{print $2}'|xargs kill -9")
//sftp上传文件及文件夹
sftpClient, err := SftpUtil.Connect(ConfigUtil.DistributeUser, ConfigUtil.DistributePwd, ConfigUtil.DistributeIp, int(ConfigUtil.DistributePort))
if err != nil {
log.Fatal(err)
}
defer sftpClient.Close()
_, errStat := sftpClient.Stat(ConfigUtil.DistributeRemotePath)
if errStat != nil {
log.Fatal(ConfigUtil.DistributeRemotePath + " remote path not exists!")
}
_, err = ioutil.ReadDir(ConfigUtil.DistributeLocalPath)
if err != nil {
log.Fatal(ConfigUtil.DistributeLocalPath + " local path not exists!")
}
SftpUtil.UploadDirectory(sftpClient, ConfigUtil.DistributeLocalPath, ConfigUtil.DistributeRemotePath)
//执行SSH命令行,授权
cli.Run("chmod +x /usr/local/dsMin/dsTools/SyncLogstashSetting")
cli.Run("chmod +x /usr/local/dsMin/dsTools/esBackup")
cli.Run("chmod +x /usr/local/dsMin/dsTools/mysqlBackup")
cli.Run("chmod +x /usr/local/dsMin/dsTools/Shell/BackupMysqlFullDataBase.sh")
cli.Run("chmod +x /usr/local/dsMin/dsTools/Shell/BackupEsSnapshot.sh")
//安装MariadbClient
cli.Run("chmod +x /usr/local/dsMin/dsTools/Shell/InstallMariadbClient.sh")
//替换掉数据库主机的ip
cmd := `sed -i 's/localhost/` + ConfigUtil.MysqlIp + `/g' /usr/local/dsMin/dsTools/Shell/BackupMysqlFullDataBase.sh`
cli.Run(cmd)
log.Println("恭喜,东师理想微服务工具包部署成功!")
log.Println("如果是首次安装使用,请手动执行如下语句:/usr/local/dsMin/dsTools/Shell/InstallMariadbClient.sh")
}