本地shell执行远程命令
本地shell执行远程命令
黑狗007 发表于2年前
本地shell执行远程命令
  • 发表于 2年前
  • 阅读 76
  • 收藏 14
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

转载 http://blog.csdn.net/chenpy/article/details/43969967

经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦。

所有就想到编写一个脚本来部署不同的服务器

前提条件:

     配置ssh免登陆 

    如果不会的请参加我的另外一篇文章 http://blog.csdn.net/chenpy/article/details/30281515



(1)命令行执行登录并且在目标服务器上执行命令

[java] view plaincopy在CODE上查看代码片派生到我的代码片

  1. ssh user@remoteNode "cd /home ; ls"  

基本能完成常用的对于远程节点的管理了,几个注意的点:

  1. 双引号,必须有。如果不加双引号,第二个ls命令在本地执行

  2. 分号,两个命令之间用分号隔开

(2)脚本的方式 

这个正式我想要的方式,在目标服务器上执行批量的命令。

[java] view plaincopy在CODE上查看代码片派生到我的代码片

  1. #!/bin/bash  

  2. ssh root@192 .168.0.23   << remotessh  

  3. killall -9 java  

  4. cd /data/apache-tomcat-7.0.53/webapps/  

  5. exit  

  6. remotessh  


远程执行的内容在“<< remotessh ” 至“ remotessh ”之间,在远程机器上的操作就位于其中,注意的点:<< remotessh,ssh后直到遇到remotessh这样的内容结束,remotessh可以随便修改成其他形式。在结束前,加exit退出远程节点

如果不想日志文件在本机出现可以修改配置

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. ssh root@192.168.0.23 > /dev/null 2>&1   << remotessh  

OK,大功告成。

参考文档:http://www.cnblogs.com/ilfmonday/p/ShellRemote.html


标签: Shell SSH
共有 人打赏支持
粉丝 2
博文 66
码字总数 14512
×
黑狗007
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: