文档章节

本地shell执行远程命令

 黑狗007
发布于 2015/12/26 11:43
字数 352
阅读 86
收藏 14

转载 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


本文转载自:

共有 人打赏支持
粉丝 1
博文 75
码字总数 14512
作品 0
广州
私信 提问
Linux下几种反弹Shell方法的总结与理解

  *本文原创作者:LlawLiet,本文属FreeBuf原创奖励计划,未经许可禁止转载。   之前在网上看到很多师傅们总结的linux反弹shell的一些方法,为了更熟练的去运用这些技术,于是自己花精力...

FreeBuf
2018/07/27
0
0
git push origin与git push -u origin master的区别

$ git push origin 上面命令表示,将当前分支推送到origin主机的对应分支。 如果当前分支只有一个追踪分支,那么主机名都可以省略。 $ git push 如果当前分支与多个主机存在追踪关系,那么这...

clin003
2018/11/13
0
0
【Absible学习】Ansible常用模块---命令类模块

command模块 command模块可以在远程主机上执行命令,在远程主机中执行命令时,不会经过远程主机的shell处理,如果需要执行的命令中含有重定向、管道符等操作,这些符号也会失效,比如"<", ">...

justin_peng
2018/06/27
0
0
Java程序调用ssh, scp, sftp

在java里可以通过Ganymed SSH-2, Expect4j等实现ssh登录,由于Ganymed SSH-2是纯java实现,并且可以实现scp,sftp等,因此我们采用Ganymed SSH-2 1> 下载安装 从http://code.google.com/p/ga...

cto-jp
2013/07/19
0
0
轻量级运维利器pssh、pdsh和mussh的使用以及区别

运维利器pssh、pdsh和mussh的使用技巧 今天周末,加上下雨天。没打算出门,翻了几页书,怕日后容易忘记,做个笔记,总结一下批量运维工具的一些使用方法以及异同之处。 其中给出pssh的5个程序...

我不是三爷
2017/07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql 查询当天、本周,本月,上一个月的数据

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 近7天 SELECT * FROM 表名 wher......

BraveLN
今天
2
0
Android Multimedia框架总结(六)C++中MediaPlayer的C/S架构

前面几节中,都是通过java层调用到jni中,jni向下到c++层并未介绍 看下Java层一个方法在c++层 MediaPlayer后续过程 frameworks/av/media/libmedia/MediaPlayer.cpp 找一个我们之前熟悉的setDa...

天王盖地虎626
今天
3
0
【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)

1、前言   框框博客在线报时:2018-11-07 19:31:06   当前MySQL最新版本:8.0.13 (听说比5.7快2倍)   官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MySQL 8 要比 MySQL 5.7 快 2 ...

Code辉
今天
5
0
oracle dg备库重建redolog:ora-00313,ora-00312

trace文件: Errors in file /crbank/dbs/app/product/diag/rdbms/rdbs/dbs/trace/dbs_mrp0_24445130.trc: ORA-00313: open failed for members of log group 8 of thread 1 ORA-00312: onl......

hnairdb
今天
1
0
深入分析Java I/O的工作机制 (一)

1.Java的I/O类库的基本架构 先说一下什么是类库:可以说是类的集合,类库包括接口、抽象类、具体类等。 I/O是机器获取和交互信息的主要渠道。 java在I/O上也一直在做持续的优化,在1.4版开始...

java菜分享
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部