Ubuntu 14.10 下SSH执行远程命令
有些时候需要在远程机器上执行命令,如果每次都等进去挺麻烦的,所以用脚本执行会方便很多。下面介绍一下在shell脚本中执行远程命令。
1,首先写好要运行的脚本 run-command.sh, 加上执行权限 chmod +x test.sh
2,把脚本文件放到远程服务器对应的用户目录
3,在本机执行 ssh remote_user@remote_ip "source /etc/profile;~/run-command.sh"
4,加上/etc/profile这样就不会出现找不到自己的环境变量了
5 一个小demo(源自网络)
#!/bin/bash #变量定义
ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3")
user="test1"
remote_cmd="/home/test/1.sh" #本地通过ssh执行远程服务器的脚本
for ip in ${ip_array[*]}
do
if [ $ip = "192.168.1.1" ]; then
port="7777"
else
port="22"
fi
ssh -t -p $port $user@$ip "remote_cmd"
done
附一个启动hadoop机群的命令,运行的时候输入参数,是启动还是关闭
sh opt-hadoop-all.sh start
下面是opt-hadoop-all.sh的内容
# command parameter:start or stop
command_input=$
##---------- opt zookeeper -------------------------------
ssh hadoop@- "source /etc/profile;zkServer.sh $command_input"
ssh hadoop@- "source /etc/profile;zkServer.sh $command_input"
ssh hadoop@- "source /etc/profile;zkServer.sh $command_input"
ssh hadoop@- "source /etc/profile;zkServer.sh $command_input"
ssh hadoop@- "source /etc/profile;zkServer.sh $command_input"
##---------- opt zookeeper end -------------------------- ##---------- opt hdfs-all -----------------------------------
master_namenode_ip="1421-0002"
ssh hadoop@$master_namenode_ip "source /etc/profile;/home/hadoop/software/cloud/hadoop-2.6.0/sbin/$command_input-all.sh"
##---------- opt hdfs-all end ----------------------------- ##---------- opt yarn-all ----------------------------------
primary_rm_ip="1423-0001"
standby_rm_ip="1423-0002"
historyjob_ip="1423-0003" ssh hadoop@$primary_rm_ip "source /etc/profile;$command_input-yarn.sh"
ssh hadoop@$standby_rm_ip "source /etc/profile;yarn-daemon.sh $command_input resourcemanager"
ssh hadoop@$historyjob_ip "source /etc/profile;mr-jobhistory-daemon.sh $command_input historyserver"
##---------- opt yarn-all end ----------------------------- ##---------- opt httpfs --------------------------------------
httpfs_ip="1421-0002"
ssh hadoop@$httpfs_ip "source /etc/profile;httpfs.sh $command_input"
##---------- opt httpfs end -----------------------------
Ubuntu 14.10 下SSH执行远程命令的更多相关文章
- Ubuntu 14.10 下SSH配置
安装Hadoop时候需要设置SSH ,故将此过程记录下来 推荐安装 OpenSSH , Hadoop 需要通过 SSH 来启动 Slave 列表中各台主机的守护进程,因此 SSH 是必需安装的.虽 ...
- Ubuntu 14.10 下MySQL无法远程连接问题
安装好MySQL之后,如果需要远程连接,那么需要做一些配置,否则会出现一些类似的错误,如 mysql root用户ERROR (): mysql 远程登录 ERROR () mysql 远程登录200 ...
- Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...
- Ubuntu 14.10 下ZooKeeper+Hadoop2.6.0+HBase1.0.0 的HA机群高可用配置
1 硬件环境 Ubuntu 14.10 64位 2 软件环境 openjdk-7-jdk hadoop 2.6.0 zookeeper-3.4.6 hbase-1.0.0 3 机群规划 3.1 zoo ...
- Ubuntu 14.10 下安装Ganglia监控集群
关于 Ganglia 软件,Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格.它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数 ...
- Ubuntu 14.10 下Hive配置
1 系统环境 Ubuntu 14.10 JDK-7 Hadoop 2.6.0 2 安装步骤 2.1 下载Hive 我第一次安装的时候,下载的是Hive-1.2.1,配置好之后,总是报错 [ERROR] ...
- Ubuntu 14.10 下安装java反编译工具 jd-gui
系统环境,Ubuntu 14.10 ,64位 1 下载JD-GUI,网址http://221.3.153.126/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/jd.benow.ca/ ...
- Ubuntu 14.10 下DokuWiki安装
环境说明: Ubuntu 14.10 64位 1 下载DokuWiki:http://download.dokuwiki.org/ 2 解压到 /var/www/html下面 3 如果没有安装Apac ...
- Ubuntu 14.10 下awk命令详解
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
随机推荐
- mialx配置qq邮箱发送邮件
#send mail use mailx(v12.0.4)#edit configure file set smtp-use-starttlsset from=xxxxxxxxx@qq.comset ...
- Form1和Form2的交互
比如在第二个窗体中操作第一个窗体中的TreeView,动态添加节点和子节点. ------回答--------- ------其他回答(20分)--------- 尽量不要这样做.控件,窗体,你在.n ...
- 使用AndroidStudio编译NDK的方法及错误解决方案
参考资料: [android ndk]macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article ...
- 通过VBA实现checkbox的全选和反选
checkbox的全选和反选可以通过VBA来控制,这种设计常见于一些交互式报表,代码如下: 1.分成两个IF判断 Private Sub CheckBox1_Click() ‘checkbox为总控 ...
- Qt之Timers
简述 QObject是所有Qt objects的基类,在Qt中提供了基础定时器的支持.使用QObject::startTimer(),你可以传递一个毫秒数间隔作为参数启动一个定时器.该函数返回一个唯一 ...
- hdu--(1247)Hat’s Words(trie树)
Hat’s Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- JButton按钮
1.方法 void setSize(width,height):设置按钮大小 void setBounds(x,y,width,heigth):设置按钮的左上角顶点位置和大小 void setC ...
- C语言内存分配机制
内存分配方式有三种: (1)从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2)在栈上创建.在执行函数时,函数内局部变量的 ...
- JDE910笔记2--OMW项目建立及简单使用
1.打开JDE的OBJECT MANAGEMENT WORKBENCH.在工作区中选择ADD,建立项目并选择OMW PROJECT,添加相关信息,如下图所示 其中,ProjectID可以对应不同的数据 ...
- ASP.NET MVC 上传大文件时404
前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M ...