Answers:
rsync
可以正常工作,并且在大多数情况下,会自动使用SSH作为传输协议。它将比较文件并仅上传已更改的文件-但您也可以使用排除列表在树中指定无论如何都不应同步的文件。
您可以尝试rsync,它仅复制已更改的文件,也可以在ssh上使用。
rsync
是一个很好的解决方案,但是如果您正在寻找替代方案:
假设,我们有一个目录“ test”,其中包含目录“ foo,bar,baz”。在这些目录中有许多不同的文件类型:
test
|____bar
| |____1.jpg
| |____1.png
| |____1.txt
| |____2.jpg
| |____2.png
| |____2.txt
|____baz
| |____1.avi
| |____2.avi
| |____3.png
|____foo
| |____test.blah
|____test.txt
我们要复制除PNG以外的所有内容
scp $(find /location/of/test -type f ! -name "*.png") # -> Note the logical NOT!!
在此示例中,该命令会将所有文件放入同一目标目录中-这可能不是您想要的行为。
\[*?
)时,此答案才有效。
您可能要尝试的一个很棒的工具是“ lftp”。
lftp sftp://etc.etc/
lftp> ls
--- remote listing ---
lftp> mirror -R -n local/ remote/
您也可以在ssh上使用RSync
rsync -avzp -e ssh /this/dir/ remoteuser@remotehost:/remote/dir/
应该管用。
我刚刚完成写我如何喜欢友升与rsync任何一天,因为它
*.bak
。我的配置文件中的示例使用安全复制-SCP
scp -r file user@host:
复制多个文件
scp /directory/* user@host:destinationPath
复制一些文件
scp /directory/!(*.doc) user@host:destinationPath
它复制目录内容(.doc文件除外)