Chinaunix首页 | 论坛 | 博客
  • 博客访问: 284212
  • 博文数量: 48
  • 博客积分: 1255
  • 博客等级: 中尉
  • 技术积分: 486
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 18:28
文章分类

全部博文(48)

文章存档

2014年(10)

2012年(9)

2011年(17)

2010年(9)

2009年(3)

我的朋友

分类: LINUX

2014-08-28 16:31:49

最后更新: 2014-02-21 周五 10:072014年 二月 21日 10:07 | 作者: 

shell远程执行:

  经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了。一下介绍两种shell命令远程执行的方法。
前提条件:

  配置ssh免密码登陆
对于简单的命令:

  如果是简单执行几个命令,则:

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

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

双引号,必须有。如果不加双引号,第二个ls命令在本地执行
分号,两个命令之间用分号隔开

对于脚本的方式:

  有些远程执行的命令内容较多,单一命令无法完成,考虑脚本方式实现:

 BASH
1
2
3
4
5
6
7
#!/bin/bash ssh user@remoteNode > /dev/null 2>&1 << eeooff
cd /home
touch abcdefg.txt
exit
eeooff echo done!

  远程执行的内容在“<< eeooff ” 至“ eeooff ”之间,在远程机器上的操作就位于其中,注意的点:

1 << eeooff,ssh后直到遇到eeooff这样的内容结束,eeooff可以随便修改成其他形式。
2 重定向目的在于不显示远程的输出了
3 在结束前,加exit退出远程节点

阅读(1295) | 评论(0) | 转发(0) |
0

上一篇:NerdCommenter

下一篇:git 添加删除

给主人留下些什么吧!~~