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") }