Linux Shell远程执行命令

1.问题描述

经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,下边介绍shell命令远程执行的方法。

前提: 远程电脑之间已经配置ssh免密码登陆

2.脚本方式

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

#!/bin/bash

SERVERS="hadoop0 hadoop1 hadoop2"

delete_file(){
ssh root@$ > /dev/null >& << eeooff
cd /usr/local
# touch abcdefg.txt
# rm -rf jdk1..0_79
rm -rf /test/abcdefg.txt
exit
eeooff
echo done!
} for SERVER in $SERVERS
do
delete_file $SERVER
done

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

1.<< eeooff,ssh后直到遇到eeooff这样的内容结束,eeooff可以随便修改成其他形式。

2.重定向目的在于不显示远程的输出了

3.在结束前,加exit退出远程节点

上一篇:Linux Shell远程执行命令(命令行与脚本方式)


下一篇:在shell下执行命令的方法