Linux

rsync:ssh 未知選項 -p2122

  • September 17, 2021

我執行此命令將數據從一台伺服器複製到另一台伺服器。它已經工作了一段時間。我將此設置作為 cron 作業。昨天由於某種原因,它停止了工作。我手動執行它並收到此錯誤:

ssh -qt -p2123 user36@219.29.195.71 rsync -az --delete 
--rsh='ssh -p2122 -qt' 
/home/user36/public_html/ user36@142.112.62.206:/home/user36/public_html/

rsync: -p2122: unknown option
rsync error: syntax or usage error (code 1) at main.c(1231) [client=2.6.8]

請注意,完整的命令在單行中執行,但此處顯示為多行以提高可讀性

為什麼它突然停止工作?為什麼它會在 ssh 埠選項上拋出錯誤?

編輯:這是在 CentOS 上

您需要在通過 ssh 傳遞的命令周圍添加引號:

ssh -qt -p2123 user36@219.29.195.71 "rsync -az --delete 
--rsh='ssh -p2122 -qt' 
/home/user36/public_html/ user36@142.112.62.206:/home/user36/public_html/"

這將防止單引號在遠端主機上執行 rsync 之前被剝離。

可能由於軟體包升級而停止工作,但這適用於 Ubuntu/Debian:

rsync -e 'ssh -c blowfish -oPort=2212 -ax'

引用自:https://serverfault.com/questions/257638