Linux
rsync:ssh 未知選項 -p2122
我執行此命令將數據從一台伺服器複製到另一台伺服器。它已經工作了一段時間。我將此設置作為 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'