Linux
錯誤的配置選項:ControlPersist while scp with control master?
我正在使用
SCP
withControlMaster
來複製文件,但不知何故我得到了這個錯誤 -command-line: line 0: Bad configuration option: ControlPersist command-line: line 0: Bad configuration option: ControlPersist command-line: line 0: Bad configuration option: ControlPersist command-line: line 0: Bad configuration option: ControlPersist command-line: line 0: Bad configuration option: ControlPersist
這是我的shell腳本 -
#!/bin/bash export PRIMARY=/filetransfer/test01/primary readonly SERVERS_LOCATION=(machineB machineC) export SERVERS_LOCATION_1=${SERVERS_LOCATION[0]} export SERVERS_LOCATION_2=${SERVERS_LOCATION[1]} export MAPPED_LOCATION=/data/snapshot FILE_PARTITION=(550 274) export dir3=$MAPPED_LOCATION/20140510 find "$PRIMARY" -mindepth 1 -delete do_CopyFiles() { el=$1 scp -o ControlMaster=auto -o 'ControlPath=~/.ssh/control-%r@%h:%p' -o ControlPersist=900 david@$SERVERS_LOCATION_1:$dir3/pp_week_1543_"$el"_200003_5.data $PRIMARY/. || scp -o ControlMaster=auto -o 'ControlPath=~/.ssh/control-%r@%h:%p' -o ControlPersist=900 david@$SERVERS_LOCATION_2:$dir3/pp_week_1543_"$el"_200003_5.data $PRIMARY/. } export -f do_CopyFiles parallel -j 5 do_CopyFiles ::: "${FILE_PARTITION[@]}"
我做錯了什麼嗎?
這僅發生在我正在執行我的 shell 腳本的這台機器上。我在其中執行相同的 shell 腳本的其他機器,它工作正常。所以我猜這台機器上的一些設置配置是不同的,我不知道。
該
ControlPersist
選項首次出現在 OpenSSH 5.6 中。您可能正在使用舊版本。如果您沒有
ControlPersist
,您可以在完成連接後顯式終止連接。
最明顯的答案是您
scp
在所有系統上都沒有相同的版本,並且其中一些不支持-o ControlPersist
.但 ControlMaster 真的需要嗎?你真的能衡量你執行的工作的差異嗎?
此外,您可能想查看 rsync。