繁体   English   中英

通过ssh同步本地目录

[英]synchronise local directories over ssh

以下命令对单个文件非常有用:

scp your_username@remotehost.edu:foobar.txt /some/local/directory

我要做的是递归执行(即,对服务器上给定路径的所有子目录/子文件),合并文件夹并覆盖本地已经存在的文件,最后仅降低服务器上小于特定值的那些文件(例如10 mb)。

我该怎么办?

使用rsync。

您的命令可能如下所示:

rsync -az --max-size=10m your_username@remotehost.edu:foobar.txt /some/local/directory

-a (归档模式-同步是递归的,转移所有权,属性,符号链接等) -z (压缩转移)

--max-size (仅复制最大大小的文件)

还有更多可能合适的标志。 查看文档以获取更多详细信息-http://linux.die.net/man/1/rsync

第一种选择:使用rsync

第二种选择,它不会成为一个班轮,但可以分三到四行完成:

使用ssh在远程系统上创建tar归档文件。 使用scp从远程系统复制tar。 在本地解压缩归档文件。

如果存档的创建变得有点复杂,并且涉及使用具有多个选项的find和/或tar ,那么创建一个本地执行脚本,使用scp将其上传到服务器上并随后使用ssh远程执行是非常实用的。 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM