2015-02-23 60 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