2015-02-23 3 views
-2

У меня есть 2 сервера:Unix SCP/копирования с помощью списка имен файлов

  • Сервер A:/Opt/Medias - ~ 1milion файлы
  • Сервер B:/Opt/Medias - Пусто

Я хочу, чтобы команда SCP копировала с сервера A на сервер B примерно на 60% (~ 750 ГБ) файлов. Я могу создать txt-файл с именами файлов, которые мне нужны на сервере B. Есть ли способ достичь этого? Есть ли лучшая альтернатива SCP?

Спасибо!

+1

SCP слишком разговорчив. Это может значительно замедлить работу, особенно если латентность между двумя серверами высока. В таких случаях: 'ssh A tar czf - --files-from list-of-files.txt | tar xzf -' – salva

+0

[rsync] (https://rsync.samba.org) может стоить попробовать. – Biffen

+0

@salva делает это для ~ 750 ГБ данных? Есть ли способ иметь текстовый файл, определяющий имена, которые я хочу скопировать? – user1635689

ответ

0

, если вы все еще хотите, SCP, ПКППЫ всех файлов:

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

но, как выше госзакупки сказали, вы должны попробовать Rsync

или

Баш скрипт для SCP только определенные файлы (поместите файл /usr/local/src/listOfFileNames.txt на сервер A)

#!/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

+0

2) Невозможно выполнить этот сценарий bash, поскольку это аутентификация маркера RSA :(каждую минуту код доступа изменяется ... – user1635689

+0

поэтому ваш сервер B изменяется passcode каждую минуту ... что ваш сервер A? А сервер A также изменяет пароль каждый раз? – candymanuu

Смежные вопросы