zoukankan      html  css  js  c++  java
  • ssh远程执行目标机器上的命令

    一句话:

    ssh -t -p 端口号 用户名@远程机器IP '远程机器上的命令完整路径'
    

    例如:  

    ssh -t -p 22 yangjunming@dev '/opt/app/deploy.sh'
    

    注意事项:

    一般先配置ssh免密码登录,然后结合这个可以实现一键远程自动部署,大概思路如下:

    a)先在本机build项目(ant/maven/gradle均可)

    b) 然后打包成tar并copy到远程机器的指定目录(最简单的方式就是用scp)

    c) 调用远程机器上的shell脚本,解压tar并执行nohup之类的命令重启应用(如果考虑到备份的话,可以在解压前,先备份原来的应用或目录)

    注:如果启用过程中,依赖一些环境变量,比如:大部分java应用都依赖JAVA_HOME,CLASSPATH这二个环境变量,假设这二个环境变量是在/etc/profile里设置的,强烈建议在shell脚本开头,写上source /etc/profile或export JAVA_HOME=... 强制让环境变量生效,否则可能出现启动过程中,无法正常找到环境变量的各种诡异问题。

    d) 删除(或备份)远程机器上的tar包

      

  • 相关阅读:
    Schema和数据类型优化?
    语雀发布博客园
    为知笔记文章目录
    码云搭建博客
    springboot的过滤器、监听器、拦截器
    springboot常用注解
    springboot使用小技巧合集
    springboot整合swagger2
    强制卸载win软件
    xshell下载和优化配置
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/ssh-remote-execute-shell.html
Copyright © 2011-2022 走看看