首頁>技術>

之前看到有個朋友的文章為了批次傳輸金鑰,專門去寫了個python指令碼來進行傳輸,其實不用expect,shell指令碼也用辦法來進行批次傳輸,那就是sshpass. 系統:centos 7.x(64位)指令碼內容:cat /root/soft_shell/batch_dispensea_send.sh

#!/bin/bashPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binexport PATH # Check if user is rootif [ $(id -u) != "0" ]; then    echo "Error: You must be root to run this script, please use root to initialization OS."    exit 1fi list="/root/soft_shell/serverhost"l=$(cat $list|wc -l)softpath="/root/install/mysqld_exporter-0.10.0.linux-amd64.tar.gz"port="14142" for ((i=1;i<=$l;i++))do     ip=`cat $list|awk "NR==$i{print}"|awk '{print $1}'`    user=`cat $list|awk "NR==$i{print}"|awk '{print $2}'`    passwd=`cat $list|awk "NR==$i{print}"|awk '{print $3}'`     if sshpass -p ${passwd} ssh -o StrictHostKeyChecking=no -T -p ${port} ${user}@${ip} stat $softpath \> /dev/null 2\>\&1        then            echo "$ip File exists"        else            sshpass -p ${passwd} scp -o StrictHostKeyChecking=no -P ${port} /root/install/mysqld_exporter-0.10.0.linux-amd64.tar.gz ${user}@${ip}:/root/install/    fi done

serverhost檔案內容:

192.168.10.12 root password192.168.10.23 root 12345678....192.168.10.200 root qwertyu

這樣的話,第一次會有點麻煩,但以後要傳什麼會很方便,當然你要拿Ansible跟我這個比的話,那你就來錯地方了.

14
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • QLExpress指令碼引擎:阿里開源的動態指令碼引擎解析工具