Ssh
通過遠端腳本生成的 ssh 上的 rsync 文件列表
for f in `ssh $SSHCRED "~/file-list.sh"` do rsync --progress --times --partial --append --rsh=ssh -r -h --remove-sent-files $SSHCRED:$f $OUTDIR done
這就是我今天要做的。
我想通過將輸出
ssh $SSHCRED "~/file-list.sh"
直接發送到 rsync 來做到這一點。那應該更快,而且我可以輕鬆中止一個 rsync 操作。但我至少看到了一個問題:遠端腳本生成了一個帶有絕對路徑的文件列表。為了使 rsync 正常工作,我認為我需要在每條路徑之前添加 SSH 憑據,如下所示:
user@host:/path/to/file1 user@host:/path/to/file2 user@host:/path/to/file3
這可能嗎?
生成文件列表並將它們交給 rsync
--files-from=FILE
選項:rsync --your-options --files-from=filelist.txt user@host:/basedir targetdir
這應該比為每個文件呼叫 rsync 快得多**。**