欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

expect實(shí)現(xiàn)單臺(tái)、多臺(tái)服務(wù)器批量scp傳輸文件

 更新時(shí)間:2014年12月31日 11:12:12   投稿:junjie  
這篇文章主要介紹了expect實(shí)現(xiàn)單臺(tái)、多臺(tái)服務(wù)器批量scp傳輸文件,本文提供了單臺(tái)傳輸腳本、多臺(tái)傳輸腳本及服務(wù)器信息配置文件,需要的朋友可以參考下

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

1.單臺(tái)傳輸腳本

cat /root/soft_shell/allscp.sh

復(fù)制代碼 代碼如下:

#!/usr/bin/expect
if {$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_file $username@$host_ip:$dest_file
spawn scp  $src_file $username@$host_ip:$dest_file
expect {
        "(yes/no)?"
                {
                        send "yes\n"
                        expect "password:" {send "$password\n"}
                }
        "password:"
                {
                        send "$password\n"
                }
}
expect "100%"
expect eof

2.多臺(tái)傳輸腳本

cat /root/soft_shell/mainscp.sh

復(fù)制代碼 代碼如下:

#!/bin/bash
host_list="server_list.conf"
cat $host_list | while read line
do
  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 $password
done

3.服務(wù)器信息文件


復(fù)制代碼 代碼如下:

cat /root/soft_shell/server_list.conf


格式為:


復(fù)制代碼 代碼如下:

ip 用戶名 密碼 源文件 目標(biāo)文件地址

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

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

相關(guān)文章

  • Shell中eval的用法示例

    Shell中eval的用法示例

    這篇文章主要介紹了Shell中eval的用法示例,本文給出多個(gè)示例來講解它的使用,需要的朋友可以參考下
    2015-07-07
  • shell如何記錄用戶的IP與命令詳解

    shell如何記錄用戶的IP與命令詳解

    這篇文章主要給大家介紹了關(guān)于shell是如何記錄用戶的IP與命令的相關(guān)資料,記錄用戶輸入過的命令使用history命令,而記錄用戶的IP可能稍復(fù)雜一些,需要的朋友們下面跟著小編一起來看看吧。
    2017-06-06
  • 使用fdisk命令管理磁盤分區(qū)詳解

    使用fdisk命令管理磁盤分區(qū)詳解

    這篇文章主要為大家介紹了使用fdisk命令管理磁盤分區(qū)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • shell腳本定時(shí)備份MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)并保留指定時(shí)間

    shell腳本定時(shí)備份MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)并保留指定時(shí)間

    這篇文章主要介紹了shell腳本定時(shí)備份MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)并保留指定時(shí)間,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 淺談安裝ORACLE時(shí)在Linux上設(shè)置內(nèi)核參數(shù)的含義

    淺談安裝ORACLE時(shí)在Linux上設(shè)置內(nèi)核參數(shù)的含義

    下面小編就為大家?guī)硪黄獪\談安裝ORACLE時(shí)在Linux上設(shè)置內(nèi)核參數(shù)的含義。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • linux下非root用戶運(yùn)行tomcat

    linux下非root用戶運(yùn)行tomcat

    這篇文章主要介紹了linux下非root用戶運(yùn)行tomcat ,需要的朋友可以參考下
    2017-12-12
  • linux?top命令基本實(shí)戰(zhàn)

    linux?top命令基本實(shí)戰(zhàn)

    top命令的功能是用于實(shí)時(shí)顯示系統(tǒng)運(yùn)行狀態(tài),包含處理器、內(nèi)存、服務(wù)、進(jìn)程等重要資源信息,這篇文章主要介紹了linux?top命令?實(shí)戰(zhàn),需要的朋友可以參考下
    2023-02-02
  • 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-sed命令詳解

    一天一個(gè)shell命令 linux文本內(nèi)容操作系列-sed命令詳解

    這篇文章主要介紹了一天一個(gè)shell命令 linux文本內(nèi)容操作系列-sed命令詳解,需要的朋友可以參考下
    2016-06-06
  • Linux中rpm命令用法詳解

    Linux中rpm命令用法詳解

    rpm命令是用于在基于RPM包管理系統(tǒng)的Linux發(fā)行版中安裝、查詢、升級(jí)和刪除軟件包的命令行工具,本文講給大家詳細(xì)的介紹一下Linux?rpm命令的使用方法,感興趣的同學(xué)跟著小編一起來看看吧
    2023-08-08
  • vtune自動(dòng)安裝腳本分享

    vtune自動(dòng)安裝腳本分享

    這篇文章主要介紹了vtune自動(dòng)安裝腳本分享,需要的朋友可以參考下
    2014-03-03

最新評(píng)論