日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解。由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本、ssh-keygen、expect来实现。希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步。
首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-keygen 一路回车即可 创建好之后到/root/.ssh/下就可以看到id开头的2个文件,其中id_rsa.pub就是公钥文件,需要做的就是将这个文件传送给其他机器:ssh-copy-id -i /root/.ssh/id_rsa.pub root@ip 最后ssh root@ip就实现无密码登录了。
以下是脚本,根据自己实际情况做修改
#!/bin/bash
#批量ssh认证建立
for p in KaTeX parse error: Expected 'EOF', got '#' at position 20: … /test/ip.txt) #̲注意ip.txt文件的绝对路径…(echo “KaTeX parse error: Expected 'EOF', got '#' at position 19: …cut -f1 -d":") #̲取ip.txt文件中的ip地址…(echo “$p”|cut -f2 -d”