expect辱志、awk 批量復(fù)制遠端文件到本地指定文件夾

expect介紹

expect 是由Don Libes基于TclTool Command Language )語言開發(fā)的虐急,主 要應(yīng)用于自動化交互式操作的場景箱残,借助Expect處理交互的命令,可以將交互過程如:ssh登錄止吁,ftp登錄等寫在一個腳本上被辑,使之自動化完成。尤其適用于需要對多臺服務(wù)器執(zhí)行相同操作的環(huán)境中敬惦,可以大大提高系統(tǒng)管理人員的工作效率
expect 語法:
expect [選項] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ]
選項
-c:從命令行執(zhí)行expect腳本盼理,默認expect是交互地執(zhí)行的
示例:expect -c expect "\n" {send "pressed enter\n"} '
-d:可以輸出輸出調(diào)試信息
示例:expect -d ssh.exp
expect中相關(guān)命令
spawn:啟動新的進程
send:用于向進程發(fā)送字符串
expect:從進程接收字符串
interact:允許用戶交互
exp_continue: 匹配多個字符串在執(zhí)行動作后加此命令

awk介紹

報告生成器,格式化文本輸出
處理機制類似sed命令,自帶循環(huán)處理 讀入一行處理一行然后自動讀取下一行再進行處理
sed命令換行的標識是固定的,只能是回車換行. awk里面的換行符是可以自定義的.awk自動把讀入的行按照指定的切割符號切割成若干個字段 默認的切割符號是空白符號(包括連續(xù)的空白符號,tab鍵,回車換行符).

下面是downloadFile.sh

OLD=$IFS
IFS=$'\n' 
# IFS作為分隔標識 、 循環(huán)讀取fileData.txt每行內(nèi)容
for line in `cat fileData.txt`
do
        if [ "$line" = "" ]
        then
                continue;
        fi
        #獲取第一列的參數(shù) 默認 空格分隔 $line
        scp=$(echo $line | awk '{print $1}')
        origin=$(echo $line | awk '{print $2}')
        dest=$(echo $line | awk '{print $3}')
        # / 作為分隔符 取最后一列
        fileId=$(echo $origin|awk -F '/' '{print $NF}') 
        echo $fileId
        #判斷 $dest 這個文件夾是否存在存在則忽略否則創(chuàng)建
        if [ ! -d "$dest" ];then
                mkdir -p $dest
        else
                echo "文件夾存在"
        fi
        localFile=$dest$fileId
        echo $localFile
        #判斷文件是或否存在
        if [ -f "$localFile" ];then
               echo "文件存在"
               continue
        fi
        echo $line
        expect expectscp.sh $scp $origin $dest
done

下面是expectscp.sh

#!/usr/bin/expect -f
#參數(shù)1
set comand [lindex $argv 0] 
#參數(shù)2
set ori [lindex $argv 1]
#參數(shù)3
set des [lindex $argv 2]
#expect 執(zhí)行shell命令 這里不用加set timeout 直接等待命令執(zhí)行完成
#默認timeout 30s
spawn $comand $ori $des
expect { "yes/no"
      {send "yes\r";exp_continue}
}
#需要自己修改
expect "root@host's password:"
#需要自己修改
send "密碼\r"
expect "*100%*"
expect eof

fileData.txt 格式

scp  root@host:2017/2017-11-06/01h8b4pDJ099PK6wfrHTM15.png  2017/2017-11-06/
scp  root@host:2017/2017-11-06/0ueJjUOZVcGWoUeMgMRTCKw.png  2017/2017-11-06/
scp  root@host:2017/2017-11-06/005048zL9aDWRAQRm1ZgRmgR.png  2017/2017-11-06/
scp  root@host:2017/2017-11-06/0tIJzZHld7Trwd0prxHwkJ.png  2017/2017-11-06/

這些數(shù)據(jù) 是存在數(shù)據(jù)庫的俄删,我是用過sql將其組裝成這種格式的宏怔。
最后給chmod u+x downloadFile.sh expectscp.sh 增加可執(zhí)行權(quán)限
./downloadFile.sh就能自動將遠端程序文件復(fù)制到本地指定文件夾了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市畴椰,隨后出現(xiàn)的幾起案子臊诊,更是在濱河造成了極大的恐慌,老刑警劉巖斜脂,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妨猩,死亡現(xiàn)場離奇詭異,居然都是意外死亡秽褒,警方通過查閱死者的電腦和手機壶硅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來销斟,“玉大人庐椒,你說我怎么就攤上這事÷煊唬” “怎么了约谈?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長犁钟。 經(jīng)常有香客問我棱诱,道長,這世上最難降的妖魔是什么涝动? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任迈勋,我火速辦了婚禮亥啦,結(jié)果婚禮上悄晃,老公的妹妹穿的比我還像新娘尝偎。我一直安慰自己国夜,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布厦凤。 她就那樣靜靜地躺著鼻吮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪较鼓。 梳的紋絲不亂的頭發(fā)上椎木,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機與錄音博烂,去河邊找鬼香椎。 笑死,一個胖子當(dāng)著我的面吹牛脖母,可吹牛的內(nèi)容都是我干的士鸥。 我是一名探鬼主播闲孤,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼谆级,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讼积?” 一聲冷哼從身側(cè)響起肥照,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勤众,沒想到半個月后舆绎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡们颜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年吕朵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窥突。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡努溃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出阻问,到底是詐尸還是另有隱情梧税,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布称近,位于F島的核電站第队,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏刨秆。R本人自食惡果不足惜凳谦,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衡未。 院中可真熱鬧晾蜘,春花似錦邻眷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岖常,卻和暖如春驯镊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背竭鞍。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工板惑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人偎快。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓冯乘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晒夹。 傳聞我的和親對象是個殘疾皇子裆馒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載 原文的排版和內(nèi)容都更加友好,并且詳細,我只是在這里貼出了一部分留作自己以后參考和學(xué)習(xí),如希望更詳細了解AWK...
    XKirk閱讀 3,219評論 2 25
  • awk介紹awk變量printf命令:實現(xiàn)格式化輸出操作符awk patternawk actionawk數(shù)組aw...
    哈嘍別樣閱讀 1,567評論 0 4
  • 什么是運維 術(shù)語名詞 IDC--(Internet Data Center)互聯(lián)網(wǎng)數(shù)據(jù)中心喷好,主要服務(wù)包括整機租用、...
    lyh165閱讀 2,707評論 0 19
  • 一读跷,awk簡介 awk,文本處理三劍客之一梗搅,它的名稱得自于它的三個創(chuàng)始人Alfred Aho 、Peter Wei...
    千紙鶴V閱讀 2,413評論 0 6
  • awk:報告生成器效览,格式化文本輸出 內(nèi)容: awk介紹 awk基本用法 awk變量 awk格式化 awk操作符 a...
    BossHuang閱讀 1,457評論 0 9