婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > shell結合expect寫的批量scp腳本工具

shell結合expect寫的批量scp腳本工具

熱門標簽:海口智能語音電銷機器人好用嗎 電話機器人每天搜索多少次 衡水外呼線路解決 外呼系統一天耗費多少流量 艾比利外呼系統 杞縣地圖標注app 昆明電話外呼系統好么 免費門店地圖標注注冊入駐 陜西便宜電銷機器人軟件

在部署一個任務時,其中有一項必須的過程就是將一些文件,如安裝包發送到大量的服務器上去。雖然已有宇哥的腳本可用:通過paramiko模塊提供的ssh和scp功能編寫的python腳本。但我到現在還在對python的恐懼之中(雖然已經在空閑時間努力去學習了),所以使用了shell和expect腳本結合的方式,寫了這個批量scp的腳本工具。

expect用于自動化地執行linux環境下的命令行交互任務,例如scp、ssh之類需要用戶手動輸入密碼然后確認的任務。有了這個工具,定義在scp過程中可能遇到的情況,然后編寫相應的處理語句,就可以自動地完成scp操作了。

需要expect工具的話可以在linux環境中使用apt-get或pacman這些包管理工具去獲取安裝,或是到expect開源項目的網站:http://expect.sourceforge.net/ 來獲取。

安裝expect之后,可以嘗試使用以下的代碼來完成對單個服務器的scp任務:

#!/usr/bin/expect
set timeout 10
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp $src_file $username@$host:$dest_file
 expect {
 "(yes/no)?"
  {
  send "yes\n"
  expect "*assword:" { send "$password\n"}
 }
 "*assword:"
{
 send "$password\n"
}
}
expect "100%"
expect eof


注意代碼剛開始的第一行,指定了expect的路徑,與shell腳本相同,這一句指定了程序在執行時到哪里去尋找相應的啟動程序。代碼剛開始還設定了timeout的時間為10秒,如果在執行scp任務時遇到了代碼中沒有指定的異常,則在等待10秒后該腳本的執行會自動終止。

從以上代碼剛開始的幾行可以看出,我為這個腳本設置了5個需要手動輸入的參數,分別為:目標主機的IP、用戶名、密碼、本地文件路徑、目標主機中的文件路徑。如果將以上腳本保存為expect_scp文件,則在shell下執行時需要按以下的規范來輸入命令:
./expect_scp 192.168.75.130 root 123456 /root/src_file /root/dest_file

以上的命令執行后,將把本地/root目錄下的src_file文件拷貝到用戶名為root,密碼為123456的主機192.168.75.130中的/root下,同時還將這個源文件重命名為dest_file。

spawn代表在本地終端執行的語句,在該語句開始執行后,expect開始捕獲終端的輸出信息,然后做出對應的操作。expect代碼中的捕獲的(yes/no)內容用于完成第一次訪問目標主機時保存密鑰的操作。有了這一句,scp的任務減少了中斷的情況。代碼結尾的expect eof與spawn對應,表示捕獲終端輸出信息的終止。

有了這段expect的代碼,還只能完成對單個遠程主機的scp任務。如果需要實現批量scp的任務,則需要再寫一個shell腳本來調用這個expect腳本。

shell腳本:

復制代碼 代碼如下:

#!/bin/sh
list_file=$1
src_file=$2
dest_file=$3
cat $list_file | while read line
do
   host_ip=`echo $line | awk '{print $1}'`
   username=`echo $line | awk '{print $2}'`
   password=`echo $line | awk '{print $3}'`
   echo "$host_ip"
   ./expect_scp $host_ip $username $password $src_file $dest_file
done

指定了3個參數:列表文件的位置、本地源文件路徑、遠程主機目標文件路徑。需要說明的是其中的列表文件指定了遠程主機ip、用戶名、密碼,這些信息需要寫成以下的格式:
IP username password

中間用空格或tab鍵來分隔,多臺主機的信息需要寫多行內容,如:
192.168.75.130 root 123456
192.168.75.131 knktc testpass

這樣就指定了兩臺遠程主機的信息。注意,如果遠程主機密碼中有“$”、“#”這類特殊字符的話,在編寫列表文件時就需要在這些特殊字符前加上轉義字符,否則expect在執行時會輸入錯誤的密碼。

對于這個shell腳本,保存為batch_scp.sh文件,與剛才保存的expect_scp文件和列表文件(就定義為hosts.list文件吧)放到同一目錄下,執行時按照以下方式輸入命令就可以了:
./batch_scp.sh ./hosts.list /root/src_file /root/destfile
用這兩個腳本文件,就可以簡單地完成批量scp的任務了。
其實批量scp的任務并不難,但是批量ssh的任務可能就會遇到麻煩了。

您可能感興趣的文章:
  • shell中嵌套執行expect命令實例
  • shell腳本通過expect實現自動單邊無密登錄功能
  • shell腳本無密碼登錄 expect的使用方法詳解
  • 利用expect命令實現Shell自動化交互的方法詳解

標簽:宿遷 海口 西寧 泰安 南京 營口 臨滄 昌都

巨人網絡通訊聲明:本文標題《shell結合expect寫的批量scp腳本工具》,本文關鍵詞  shell,結合,expect,寫的,批量,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell結合expect寫的批量scp腳本工具》相關的同類信息!
  • 本頁收集關于shell結合expect寫的批量scp腳本工具的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产成人av福利| 国产大陆精品国产| 亚洲黄网站在线观看| 国产精品久久久久久久蜜臀| 亚洲国产精品激情在线观看| 国产亚洲自拍一区| 久久久久久久久岛国免费| 欧美一级精品在线| 精品日韩一区二区三区| 国产亚洲欧美激情| 国产精品视频在线看| √…a在线天堂一区| 夜夜嗨av一区二区三区| 五月天激情综合网| 免费欧美高清视频| 国产麻豆精品视频| 成人国产亚洲欧美成人综合网| 国产精品12区| 91麻豆免费在线观看| 欧美三级资源在线| 日韩女优av电影| 中文字幕国产精品一区二区| 国产精品久久久久久久久免费丝袜 | 精东粉嫩av免费一区二区三区| 一区二区三区四区视频精品免费 | 欧美精品 国产精品| 欧美在线一二三四区| 一本色道**综合亚洲精品蜜桃冫| 成人激情视频网站| 91网站在线播放| 欧美图片一区二区三区| 欧美三级中文字| 91精品国产综合久久婷婷香蕉| 91精品在线麻豆| 精品国产网站在线观看| 国产香蕉久久精品综合网| 国产精品色哟哟| 亚洲色图19p| 亚洲成年人影院| 亚洲不卡av一区二区三区| 蜜桃久久久久久| 看电视剧不卡顿的网站| 国产精品538一区二区在线| 丰满少妇在线播放bd日韩电影| 成人综合在线视频| 色视频一区二区| 欧美一级片在线看| 精品国产a毛片| 国产精品水嫩水嫩| 亚洲一区免费在线观看| 蜜桃一区二区三区在线| 国产一区二区三区日韩| 成人av中文字幕| 在线观看网站黄不卡| 91精品蜜臀在线一区尤物| 26uuu精品一区二区在线观看| 国产三级精品三级| 亚洲激情网站免费观看| 日韩不卡免费视频| 丰满亚洲少妇av| 欧美精品久久99久久在免费线| 2020日本不卡一区二区视频| 亚洲欧洲国产日韩| 午夜激情久久久| 国产成人一区在线| 91国产免费看| 亚洲精品一区二区三区四区高清| 亚洲色欲色欲www| 日韩精品每日更新| 丁香婷婷深情五月亚洲| 欧美区一区二区三区| 国产人久久人人人人爽| 亚洲成人精品影院| 成人免费观看av| 91.xcao| 1024亚洲合集| 九九**精品视频免费播放| 99久久久无码国产精品| 欧美亚洲动漫精品| 2021久久国产精品不只是精品| 日韩精品91亚洲二区在线观看| 国产乱码一区二区三区| 欧美日韩成人在线| 久久久久99精品一区| 亚洲成人777| 色域天天综合网| 久久青草欧美一区二区三区| 亚洲图片欧美色图| 成人av在线看| 精品国产3级a| 麻豆91在线播放免费| 在线国产电影不卡| 中文字幕成人网| 奇米综合一区二区三区精品视频| 色88888久久久久久影院野外| 欧美国产国产综合| 国产在线视视频有精品| 欧美日韩国产不卡| 亚洲欧美乱综合| 福利一区二区在线| 久久综合色综合88| 美日韩一区二区| 欧美情侣在线播放| 亚洲风情在线资源站| www.欧美.com| 国产精品超碰97尤物18| 久久成人免费日本黄色| av成人免费在线| 亚洲美女偷拍久久| 91社区在线播放| 国产精品久久久久9999吃药| 国产伦精品一区二区三区免费迷| 91麻豆精品国产91久久久久 | 99视频精品在线| 久久久综合九色合综国产精品| 精品制服美女久久| 精品精品国产高清a毛片牛牛| 午夜激情一区二区三区| 在线影院国内精品| 亚洲蜜桃精久久久久久久| 色婷婷狠狠综合| 一区二区三区日韩在线观看| 欧美在线影院一区二区| 亚洲在线视频一区| 欧美日韩免费高清一区色橹橹 | 精品欧美乱码久久久久久1区2区| 视频一区二区国产| 6080日韩午夜伦伦午夜伦| 婷婷开心激情综合| 日韩欧美资源站| 国内成人免费视频| 久久久国产精华| 成人中文字幕在线| 亚洲精品自拍动漫在线| 色综合久久久久久久| 亚洲一二三四在线观看| 欧美日韩一本到| 精品一区二区精品| 国产丝袜美腿一区二区三区| 国产精品一二三四五| 国产精品女上位| 欧美性xxxxxx少妇| 日本欧美在线看| 久久久精品免费免费| 北条麻妃一区二区三区| 一区二区欧美视频| 欧美一区二区免费视频| 精品中文av资源站在线观看| 国产欧美精品一区二区三区四区| av亚洲精华国产精华| 成人欧美一区二区三区小说 | 日韩一区二区在线看| 捆绑调教一区二区三区| 久久亚洲综合色一区二区三区| 高清av一区二区| 视频一区二区三区入口| 久久伊99综合婷婷久久伊| 粉嫩绯色av一区二区在线观看| 亚洲欧美福利一区二区| 91精品国产福利| 懂色av噜噜一区二区三区av| 夜夜嗨av一区二区三区网页 | 欧美精品一卡两卡| 国产乱色国产精品免费视频| 日韩毛片视频在线看| 一区二区三区不卡在线观看 | 久久综合精品国产一区二区三区 | 国产乱码一区二区三区| 国产精品免费视频网站| 国产成人av福利| 中文字幕字幕中文在线中不卡视频| 99天天综合性| 美女视频黄a大片欧美| 国产精品免费av| 91麻豆精品国产自产在线观看一区| 高清国产一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 91网站最新网址| 国内外精品视频| 亚洲一区二区在线观看视频| 久久久综合九色合综国产精品| 欧美撒尿777hd撒尿| 国产一区二区精品在线观看| 一区二区三区在线影院| 久久久午夜精品| 91精品国模一区二区三区| 91亚洲精品久久久蜜桃网站| 另类人妖一区二区av| 亚洲激情六月丁香| 中文字幕精品一区二区精品绿巨人| 欧美一级黄色录像| 欧美日韩一区二区三区四区五区| 成人久久视频在线观看| 久久99精品国产.久久久久久| 亚洲v中文字幕| 一区二区三区四区亚洲| 国产精品美女久久久久久久 | 亚洲一区二区在线免费观看视频 | 久久不见久久见中文字幕免费| 亚洲高清在线视频|