Linux Shell远程执行命令(命令行与脚本方式)

shell远程执行:

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

前提条件:

  配置ssh免密码登陆

对于简单的命令:

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

ssh user@remoteNode "cd /home ; ls"

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

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

对于脚本的方式:

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

复制代码
#!/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退出远程节点
  4. 导语:很多时候需要对线上服务器执行批量操作,于是乎就总结了个脚本,哪怕机器规模达到成百上千台,也可以轻而易举的完成需求!~.~

    一、脚本执行环境
    需要一台打通了线上机器sshkey的中控机(sshkey打通后,可以直接登录,不用再输用户名和密码)。

    二、脚本内容
    1、批量执行远程命令

    #!/bin/sh

    hosts=`cat $1`;  #$1为需要操作的线上机器IP列表
    CMD=$2;            #$2为需要操作的命令

    for i in ${hosts}; do
            echo ${i};
            ssh ${i} "$CMD";
    done
    2、批量拷贝文件到远程目录
    #!/bin/sh
    hosts=`cat $1`;
    SOURCE=$2;
    DEST=$3;

    for i in ${hosts}; do
            echo ${i};
            scp  ${SOURCE} ${i}:${DEST};
    done

    三、脚本执行形式
    ./r_d.sh $1 $2    #r_d.sh为执行远程命令脚本名称
    ./r_c.sh $1 $2 $3   #r_d.sh为拷贝文件脚本名称
    结语:几条shell命令,轻松搞定批量操作任务。


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux命令行Shell脚本编程大全 第4版》是一本经典的Linux命令行Shell脚本编程方面的参考书。这本书的作者是Richard Blum和Christine Bresnahan,他们通过深入浅出的方式,全面介绍了Linux命令行Shell脚本的概念、基础知识和实际应用。 本书的第一部分涵盖了Linux的基本知识,包括如何安装和配置Linux操作系统,如何使用终端和命令行,以及如何使用虚拟终端和远程登录等。这些内容对于初学者来说非常有用,可以让他们迅速上手Linux系统。 第二部分是本书的重点,详细介绍了Linux命令行的各个方面。从基本的文件和目录操作,到网络和系统管理等,每个章节都通过实例演示了具体的命令和用法。同时,为了帮助读者更好地理解和使用这些命令,作者还提供了常见的问题和解决方案。 第三部分是关于Shell脚本编程的内容,包括Shell脚本的基本语法、变量和运算符等。此外,还介绍了如何编写实用的脚本,如文件管理、文本处理和系统监控等。这些脚本可以帮助读者提高工作效率,自动化重复性的操作。 除了基础知识,本书还进一步介绍了Linux系统的高级用法,如进程管理、系统调试和Shell编程技巧等。通过阅读本书,读者不仅可以掌握Linux命令行Shell脚本编程的基本知识,还可以提高工作效率,解决实际问题。 总之,《Linux命令行Shell脚本编程大全 第4版》是一本非常实用的Linux命令行Shell脚本编程方面的参考书,适合初学者和有一定经验的用户阅读。无论是系统管理员、开发人员还是普通用户,都可以从中受益,提升对Linux系统的理解和应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值