簡體   English   中英

Bash腳本自動化:涉及將文件從源復制到目標,在目標中執行腳本,並將結果從目標復制到目標

[英]Bash script automation : Involve copying file from source to dest, executing script in destination and copy result from dest to surce

我需要創建一個自動化腳本,該腳本將按照給定的順序執行以下操作:

  1. 將一些腳本和XML從源復制到目標。
  2. 在目標位置運行腳本
  3. 將結果(文件)從目標復制到源。

我正在使用“期望”將文件從源復制到目標。 然后,我嘗試建立到目標的ssh連接並在目標中執行腳本。 生成結果后,我將再次使用“期望”復制文件,但這一次是從目標到源。

我想知道是否有更好的方法可以做到這一點。

使用“ expect”復制文件的代碼,因為我需要為scp傳遞密碼:

#!/usr/bin/expect -f

set from [lindex $argv 0]
set to [lindex $argv 1]
set pass [lindex $argv 2]
puts "$from, $to and $pass ."
# connect via scp
spawn sudo scp  -v -r $from $to
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send $pass\n
}
}
interact

您的解決方案還可以。 您可以考慮使用sshfs在src機器上安裝遠程目錄,並使用命令,例如該文件在src機器上。

例:

sudo sshfs -o allow_other,nonempty user@10.1.2.3:/project /project

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM