Shell批量複製或執行檔案(自動輸入密碼)
Shell批量複製或執行檔案
全部指令碼放在同一個目錄下:
1 根據ip密碼檔案,批量處理
passwd.txt 格式
2 登入指令碼login.exp
3 批量複製檔案scp.sh
[root@ passwdsh]# sh scp.sh filename
4 批量執行指令碼ssh.sh
[root@ passwdsh]# sh ssh.sh filename
全部指令碼放在同一個目錄下:
1 根據ip密碼檔案,批量處理
passwd.txt 格式
點選(此處)摺疊或開啟
-
192.168.9.111 password
-
192.168.9.112 password
-
192.168.9.113 password
- 192.168.9.114 password
點選(此處)摺疊或開啟
-
#!/usr/bin/expect -f
-
set ip [lindex $argv 0 ]
-
set passwd [lindex $argv 1 ]
-
set command [lindex $argv 2]
-
set timeout -1
-
spawn ssh root@$ip
-
expect {
-
\"yes/no\" { send \"yes\\r\";exp_continue }
-
\"password:\" { send \"$passwd\\r\" }
-
}
-
expect \"*#*\" { send \"$command\\r\" }
-
expect \"#*\" { send \"exit\\r\" }
- expect eof
3 批量複製檔案scp.sh
[root@ passwdsh]# sh scp.sh filename
點選(此處)摺疊或開啟
-
uto exec expect shell scripts
-
if
-
[ ! -e /usr/bin/expect ];then
-
yum install expect -y
-
fi
-
#Judge passwd.txt exist
-
if
-
[ ! -e ./passwd.txt ];then
-
echo -e \"The passwd.txt is not exist......Please touch ./passwd.txt ,Content Example:\\n192.168.1.11 passwd1\\n192.168.1.12 passwd2\"
-
sleep 2 &&exit 0
-
fi
-
#Auto Tuoch login.exp File
-
cat>login.exp <<EOF
-
#!/usr/bin/expect -f
-
set ip [lindex \\$argv 0]
-
set passwd [lindex \\$argv 1]
-
set src_file [lindex \\$argv 2]
-
set des_dir [lindex \\$argv 3]
-
set timeout -1
-
spawn scp -p \\$src_file root@\\$ip:\\$des_dir
-
expect {
-
\"yes/no\" { send \"yes\\r\"; exp_continue }
-
\"password:\" { send \"\\$passwd\\r\" }
-
}
-
expect \"100%\"
-
expect eof
-
EOF
-
##Auto exec shell scripts
-
if
-
[ \"$1\" == \"\" ];then
-
echo ========================================================
-
echo \"Please insert your are command ,Example {/bin/sh $0 /src /des } ,waiting exit ........... \"
-
sleep 2
-
exit 1
-
fi
-
for i in `awk \'{print $1}\' passwd.txt`
-
do
-
j=`awk -v I=\"$i\" \'{if(I==$1)print $2}\' passwd.txt`
-
expect ./login.exp $i $j $1 $2
- done
4 批量執行指令碼ssh.sh
[root@ passwdsh]# sh ssh.sh filename
點選(此處)摺疊或開啟
-
uto exec expect shell scripts
-
if
-
[ ! -e /usr/bin/expect ];then
-
yum install expect -y
-
fi
-
#Judge passwd.txt exist
-
if
-
[ ! -e ./passwd.txt ];then
-
echo -e \"The passwd.txt is not exist......Please touch ./passwd.txt ,Content Example:\\n192.168.1.11 passwd1\\n192.168.1.12 passwd2\"
-
sleep 2 &&exit 0
-
fi
-
#Auto Tuoch login.exp File
-
cat>login.exp <<EOF
-
#!/usr/bin/expect -f
-
set ip [lindex \\$argv 0 ]
-
set passwd [lindex \\$argv 1 ]
-
set command [lindex \\$argv 2]
-
set timeout -1
-
spawn ssh root@\\$ip
-
expect {
-
\"yes/no\" { send \"yes\\r\";exp_continue }
-
\"password:\" { send \"\\$passwd\\r\" }
-
}
-
expect \"*#*\" { send \"\\$command\\r\" }
-
expect \"#*\" { send \"exit\\r\" }
-
expect eof
-
EOF
-
##Auto exec shell scripts
-
CMD=\"$*\"
-
if
-
[ \"$1\" == \"\" ];then
-
echo ========================================================
-
echo \"Please insert your command ,Example {/bin/sh $0 \'mkdir -p /tmp\'} ,waiting exit ........... \"
-
sleep 2
-
exit 1
-
fi
-
for i in `awk \'{print $1}\' passwd.txt`
-
do
-
j=`awk -v I=\"$i\" \'{if(I==$1)print $2}\' passwd.txt`
-
expect ./login.exp $i $j \"$CMD\"
- done
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1284955/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- scp不輸入密碼進行檔案傳輸密碼
- scp後臺靜默執行(使用expect自動輸入密碼)密碼
- 自動輸入密碼使用root許可權開啟shell指令碼密碼指令碼
- C# 批量複製檔案C#
- 在 Linux 命令列指令碼中執行 sudo 時自動輸入密碼Linux命令列指令碼密碼
- 直播app原始碼,登入時自動輸入密碼/自動記住密碼APP原始碼密碼
- win 開機自動輸入密碼 並設定 cmder 開機自啟執行密碼
- 隨身碟插入自動讀寫/隨身碟插入自動複製檢測隨身碟的插入,以及進行自動複製檔案並寫入檔案
- scp 手動輸入密碼後後臺執行的方法密碼
- shell中使用sudo不輸入密碼密碼
- 使ssh不用輸入密碼(指令碼執行scp)密碼指令碼
- 自定義支付密碼輸入view、密碼鍵盤並自動檢測6位密碼輸入完全密碼View
- [shell例項]——用指令碼實現向多臺伺服器批量複製檔案(nmap、scp)指令碼伺服器
- 如何批量複製多個檔案到多個目錄中(批量複製檔案,多對多檔案高效操作的方法)
- shell 備份檔案指令碼+自動清理指令碼
- 簡單的多執行緒複製檔案執行緒
- 網頁檔案自動下載入庫指令碼_shell_sqlldr網頁指令碼SQL
- WWDC 2018:自動強密碼與驗證碼自動輸入密碼
- EndlessID手環一掃就能自動輸入密碼 不怕密碼太多密碼
- linux[批量複製並重新命名]和[批量複製檔案到多個資料夾]Linux
- ssh自動輸入密碼指令碼 切換目錄指令碼密碼指令碼
- Linux 下用 SCP 無需輸入密碼傳輸檔案Linux密碼
- win10 cmd複製檔案命令怎麼執行_win10 cmd命令如何複製檔案Win10
- vivo手機安裝應用自動輸入密碼密碼
- 12c複製 RAC ASM中的密碼檔案到檔案系統ASM密碼
- delphi多執行緒檔案複製怎麼實現執行緒
- BatchOutput PDF ——批量自動列印PDF檔案BAT
- 如何讓shell指令碼變成可執行檔案指令碼
- 啟動軟體輸入密碼密碼
- 大量包含Insert語句的指令碼檔案批量執行匯入資料指令碼
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- Windows8不輸入密碼自動登入系統的方法Windows密碼
- 如何在 Linux 中不輸入密碼執行 sudo 命令Linux密碼
- python fabric 免密碼輸入執行任務 踩得坑Python密碼
- shell指令碼自動清理超過指定大小的檔案指令碼
- BatchOutput PDF for Mac(批量自動列印PDF檔案)BATMac
- 遠端登入和複製檔案
- maven外掛執行過程中自動執行sql檔案MavenSQL