expect批量下发脚本

#!/bin/bash

# 需要安装软件的服务器列表

SERVERS="10.22.200.23

10.22.200.24

10.22.200.25

"

# 登陆服务器的root密码

PASSWORD=密码

# 带有安装包的服务器

BASE_SERVER=172.18.19.135

auto_ssh_copy_id() {

expect <<-EOF

        spawn ssh-copy-id $1; #启动新进程,用于执行shell命令

        expect "yes/no" { send "yes\r" }

                expect "password:" { send "$2\r" }

        expect eof

EOF

}


ssh_copy_id_to_all() {

    for SERVER in $SERVERS

    do

        auto_ssh_copy_id $SERVER $PASSWORD

    done

}


ssh_copy_id_to_all


for SERVER in $SERVERS

do

    scp 81410.sh root@$SERVER:/root/

    ssh root@$SERVER /root/81410.sh

done

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容