2016-08-08 4 views
-1

Передача очень больших файлов с помощью rsync или scp. Бывают случаи, когда перенос прерывается, поэтому мне нужно его контролировать и возобновлять вручную. Можете ли вы помочь мне написать сценарий, который возобновит передачу файла, которая была прервана или завершена, но файлы (источник и получатель) не имеют одинакового размера (в этом случае передача будет перезапущена с начала - сначала она будет удалена файл назначения и передача будут перезапущены). одна вещь, чтобы отметить, что, когда я подключиться к исходному серверу необходимо предоставить пароль, поэтому я хотел бы пароль, чтобы быть параметром сценарияresume file transfer if aborted

ответ

2

Вам нужно -P и --partial варианты.

От человека странице:

--partial By default, rsync will delete any partially transferred file if the transfer 
     is interrupted. In some circumstances it is more desirable to keep partially 
     transferred files. Using the --partial option tells rsync to keep the partial 
     file which should make a subsequent transfer of the rest of the file much faster. 

    -P  The -P option is equivalent to --partial --progress. Its pur- 
     pose is to make it much easier to specify these two options for 
     a long transfer that may be interrupted. 

Так что, если вы хотите синхронизировать (Continu синхронизации) директории:

Вы можете найти некоторые ДОПОЛНИТЕЛЬНО здесь:

Чтобы возобновить его автоматически, просто запустить его в цикле:

RETRY_IN=5 
while rsync -azvvP /home/path/folder1/ /home/path/folder2 
do 
    echo "Retrying in ${RETRY_IN} sec" 
    sleep "${RETRY_IN}" 
done 
+0

OK. как я могу автоматически передавать резюме RSYNC или SCP (передача была прервана не пользователем)? –

+0

@MichaelNathanSellers: Просто начните в цикле. Просмотреть мое обновление –