expect實現(xiàn)單臺、多臺服務器批量scp傳輸文件
來源:易賢網(wǎng) 閱讀:938 次 日期:2015-01-30 14:40:55
溫馨提示:易賢網(wǎng)小編為您整理了“expect實現(xiàn)單臺、多臺服務器批量scp傳輸文件”,方便廣大網(wǎng)友查閱!

今天公司同事要在一臺服務器上對另外兩臺同機房的服務器進行文件傳輸,兩臺服務器的文件存放地址一致,密碼和key也一致(我們公司在安全上做得有點變態(tài)的),為了效率寫了下面這個腳本.

1.單臺傳輸腳本

cat /root/soft_shell/allscp.sh

復制代碼 代碼如下:#!/usr/bin/expectif {$argc < 2} { send_user "usage: $argv0 src_file username ip dest_file password\n"exit}##set key [lindex $argv 0]set src_file [lindex $argv 0]set username [lindex $argv 1]set host_ip [lindex $argv 2]set dest_file [lindex $argv 3]set password [lindex $argv 4]##spawn scp -i $key $src_filespawn scp $src_file expect { "(yes/no)?" { send "yes\n" expect "password:" {send "$password\n"} } "password:" { send "$password\n" }}expect "100%"expect eof

2.多臺傳輸腳本

cat /root/soft_shell/mainscp.sh

復制代碼 代碼如下:#!/bin/bashhost_list="server_list.conf"cat $host_list | while read linedo host_ip=`echo $line|awk '{print $1}'` username=`echo $line|awk '{print $2}'` password=`echo $line|awk '{print $3}'` src_file=`echo $line|awk '{print $4}'` dest_file=`echo $line|awk '{print $5}'` ##key=`echo $line|awk '{print $6}'` ##./allscp.sh $key $src_file $username $host_ip $dest_file $password ./allscp.sh $src_file $username $host_ip $dest_file $passworddone

3.服務器信息文件

復制代碼 代碼如下:cat /root/soft_shell/server_list.conf

格式為:

復制代碼 代碼如下:ip 用戶名 密碼 源文件 目標文件地址

ps:以上3個文件,相信大家都看出來了,都是放在同一文件夾下面的.我本地測試只用ssh密碼,沒有加上ssh key,如果要用上跟我們公司正式環(huán)境一樣的安全方式(ssh密碼+key,才能登錄服務器),那么請自己修改腳本文件,我比較懶這里就不說得那么詳細了.

最后來張效果圖吧,免得大家說我腳本有問題.

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:expect實現(xiàn)單臺、多臺服務器批量scp傳輸文件

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)