shell脚本实现同时管理多台服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本实现同时管理多台服务器相关的知识,希望对你有一定的参考价值。

shell脚本实现同时管理多台服务器,未使用ansible,自动手动实现

ssh不登录机器执行命令(前提得实现无密码登录)

ssh 127.0.0.1 ‘ifconfig‘
ssh 127.0.0.1 ‘ifconfig|grep bbb‘
ssh 127.0.0.1 ‘tail /var/log/secure‘

shell while循环读取需要管理的服务器的ip列表

cat /tmp/hosts|while read line;do
echo $line;
done

结合上述两个实现同时管理多台服务器

  • 一开始的想法,但没办法同时管理多台服务器,只能管理1台
    cat /tmp/hosts|while read line;do
    echo $line
    ssh $line ‘tail /var/log/secure‘
    done
  • 打到日志的一个尝试,还是不行
    cat /tmp/hosts|while read line;do
    echo $line
    ssh $line ‘tail /var/log/secure‘ >/tmp/${line}.log
    done
  • 尝试成功,必须要放在后台&

    cat /tmp/hosts|while read line;do
    echo $line
    ssh $line ‘tail /var/log/secure‘ >/tmp/${line}.log &
    done

    ssh无密码,scp也是无密码。

    综合上述的情况,我们已经可以实现同时管理多台服务器,批量运行命令,批量上传文件,批量下载文件 。

以上是关于shell脚本实现同时管理多台服务器的主要内容,如果未能解决你的问题,请参考以下文章

shell实现交互式在多台服务器批量执行命令

怎样用脚本把一个文件同时发送给多台Linux服务器

[shell实例]——用脚本实现向多台服务器批量复制文件(nmapscp)

shell脚本和自动化部署

代码片段:Shell脚本实现重复执行和多进程

SHELL实现同时操作多个服务器:服务器批量管理