2015-02-23 31 views
-2

的名单上有2个服务器:Unix的SCP /复印的文件名

  • 服务器A中:/ opt /媒体 - 〜1milion文件
  • 服务器B中:/ opt /媒体 - 空

我想要SCP命令从服务器A复制到服务器B大约60%(〜750GB)的文件。我可以使用服务器B中需要的文件名创建一个txt文件。有没有办法实现这一点? SCP有更好的选择吗?

谢谢!

+1

SCP太讲话了。这可以大大减缓,特别是如果两台服务器之间的往返延迟很高。在这些情况下:'ssh tar czf - --files-from list-of-files.txt | tar xzf -' – salva 2015-02-23 11:55:45

+0

[rsync](https://rsync.samba.org)可能值得一试。 – Biffen 2015-02-23 12:08:57

+0

@salva对750GB数据有效吗?有没有办法让文本文件定义我想要复制的名称? – user1635689 2015-02-23 15:36:47

回答

0

如果你还想SCP,SCP的所有文件:

scp -r /opt/medias/* [email protected]:/opt/medias/ 

但是,正如上面PPL说,你应该尝试的rsync

bash脚本到SCP只有特定的文件(在服务器A上放置/usr/local/src/listOfFileNames.txt)

#!/bin/bash 

while read line 
do 
     #scp one file at a time to your other server 
     scp $line [email protected]:/opt/medias/ 

done < /usr/local/src/listOfFileNames.txt 
+0

1)不能做所有的文件,因为服务器B中没有足够的硬盘空间 – user1635689 2015-02-23 15:29:39

+0

2)不能做到这个bash脚本,因为这是RSA令牌认证:(每分钟密码更改.... – user1635689 2015-02-23 15:30:18

+0

因此您的服务器B更改每分钟的密码...你的服务器有什么好处吗?服务器A是否也会每分钟更改一次密码? – candymanuu 2015-02-23 15:35:06