shell腳本實現scp遠程復制


轉自:https://blog.csdn.net/work_msh/article/details/8473847

 

某些生產系統在沒有NBU等備份軟件的情況下,需要把備份的文件拷到另外的服務器上進行存儲,為了節省不必要的時間,我們可以使用腳本實現自動拷貝:

我們會在腳本里使用到一個軟件:expect

首先需要在服務器安裝,掛載介質,打開/Package

rpm -ich expect-5.44.1.15-5.el6_4.x86_64.rpm 

 

#!/usr/bin/expect
set passwd "123456"
spawn scp root@172.18.31.26:/soft/p13390677_112040_Linux-x86-64_2of7.zip /opt
expect {
  "密碼:"
        {
          send "$passwd\n"
        }
   "pass"
        {
          send "$passwd\n"
        }
   "yes/no"
        {
          sleep 5
          send_user "send yes"
          send "yes\n"
        }
   eof
    {
        sleep 5
        send_user "eof\n"
    }
}
set timeout 3000
send "exit\r"
expect eof

當檢測到”pass“ 或者 ”密碼:“字樣后 使用send 發送 密碼給scp程序,這里邊send_user 的意思是輸出到控制台 這樣我們就可以將遠程服務器上的備份文件拷貝到本地而且也不需要輸入密碼了 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM