我必须将包含大量小文件(250k,平均大小 5mb)的目录从一台服务器传输到另一台服务器。两台服务器都运行在 Debian Linux 上。是否有适合传输大量文件的协议?
答案1
您可以将文件打包成 tar 并移动。或者使用 SSH 管道传输 tar:请参阅http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/
对文件进行 tar 处理会删除每个单个文件的开销,因为 tarball 实际上是一个单独的文件。
如果您无法在另一端解压/解压缩(可能是因为它是共享主机 FTP),那么您能做的就不多。
答案2
rsync
肯定也符合要求。比如
server1$ rsync -av /your/directory server2:/destination/
它是一款非常灵活且功能强大的工具,具有许多有用的选项。首先使用该-n
标志运行它,看看它在尝试找出正确的语法时会做什么。
答案3
如果是共享主机,并且他们提供 sftp(任何好的主机都提供),您确实有一个选择,并且使用 sshfs 将远程服务器安装到您的本地系统。然后您可以照常移动文件。