linux远程执行批量命令

前提条件:

  配置ssh免密码登录bash

对于简单的命令:

  若是是简单执行几个命令,则:ssh

ssh user@remoteNode "cd /home ; ls"

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

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

对于脚本的方式:

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

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

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

  1. << eeooff,ssh后直到遇到eeooff这样的内容结束,eeooff能够随便修改为其余形式,如aaa,remotessh等。
  2. /dev/null 2>&1目的在于不显示远程的输出了
  3. 在结束前,加exit退出远程节点
  4. eeooff 必须以<<开头,而且结束时要定格,不能有空格和占位符。
相关文章
相关标签/搜索