一键让所有服务器执行相同命令

平时服务器多的时候难免会让多台服务器执行相同命令,当然了,可以用一些shell工具,可是如果有一百台服务器就会开一百个窗口,这.....,下面是用脚本实现这个功能(ssh 免密是通的),也可以用别的工具实现,迫于着急用,以后再研究。

  • 直接打开文本编辑器输入以下内容:

#!/bin/sh
     
doCommand()
{
    hosts=`sed -n '/^[^#]/p' hostlist`
    for host in $hosts
        do
            echo ""
            echo HOST $host
            ssh $host "$@"
        done
    return 0
}
     
    if [ $# -lt 1 ]
    then
            echo "$0 cmd"
            exit
    fi
    doCommand "$@"
    echo "return from doCommand"

  • 保存为sh 脚本(docommand.sh),notepad++ 或者别的编辑器记得转为unix 格式
  • 继续编辑一个hostlist 文件,里面输入你想要执行命令的机器

192.168.xx.xx
192.168.xx.xx
192.168.xx.xx
...

  • 把这两个文件上传至服务器(必须在同一目录)
  • sh docommand.sh "ls /usr/" 执行测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值