文档章节

本地shell执行远程命令

 黑狗007
发布于 2015/12/26 11:43
字数 352
阅读 85
收藏 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
07/27
0
0
git push origin与git push -u origin master的区别

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

clin003
11/13
0
0
轻量级运维利器pssh、pdsh和mussh的使用以及区别

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

我不是三爷
2017/07/16
0
0
每天一个 Linux 命令(59): rcp 命令

原文出处:peida rcp代表“remote file copy”(远程文件拷贝)。该命令用于在计算机之间拷贝文件。rcp命令有两种格式。第一种格式用于文件到文件的拷贝;第二种格式用于把文件或目录拷贝到另...

peida
2017/02/06
0
0
【Absible学习】Ansible常用模块---命令类模块

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

justin_peng
06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
37分钟前
1
0
Mybatis 中$与#的区别,预防SQL注入

一直没注意Mybatis 中$与#的区别,当然也是更习惯使用#,没想到避免了SQL注入,但是由于要处理项目中安全渗透的问题,不可避免的又遇到了这个问题,特此记录一下。 首先是共同点: 在mybatis...

大雁南飞了
53分钟前
0
0
Cydia的基石:MobileSubstrate

在MAC与IOS平台上,动态库的后缀一般是dylid,而加载这些动态库的程序叫做dynamic linker(dyld)。这个程序有很多的环境变量来设置程序的一些行为,最为常用的一个环境变量叫做"DYLD_INSERT_...

HeroHY
55分钟前
1
0
Spring Clould负载均衡重要组件:Ribbon中重要类的用法

Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具体实现细节的基础上“透明”地用到负载均衡,而不必在项目里过多地编写实现...

Ala6
今天
0
0
让 linux 删除能够进入回收站

可以参考这个贴子 https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79543316 从那个git地址 把saferm.sh下载下来 把saferm.sh复制到 /usr/bin 目录下 在用~/目下 的.bashrc 下加一句这...

shzwork
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部