LINUX.ORG.RU
ФорумAdmin

Продолжение синхронизации большого файла после обрыва связи

 ,


1

2

Никак не пойму, как заставить rsync справиться с обрывом связи. Во-первых, он, кажется, вообще этого не замечает. После ctrl-c есть два варианта: или использовать уже синхронизированный кусок, но тогда игнорируется наличие оригинального файла, который следовало бы использовать. Наоборот: игнорируется уже синхронизированное. Я проглядел какой-то подходящий ключик или rsync до сих пор так не умеет?

★★★★★

       --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.
post-factum ★★★★★ ()
Ответ на: комментарий от post-factum

Сначала у меня был сценарий номер 2, потом добавил этот ключ - получил сценарий номер 1: быстренько доходит до размера уже синхронизированного, а потом сваливается до скорости канала, т.е. не используется то, что лежит в оригинальном файле.

gag ★★★★★ ()
Ответ на: комментарий от sdio

Вот --inplace я не пробовал: ведь тогда мне вручную придётся делать backup. И может ли быть только в этом дело?

Допустим, есть оригинальный файл (2 GB): orig.iso, и есть временный, куда происходит синхронизация: tmp.iso. rsync успел записать 1 GB в tmp.iso, связь оборвалась. При повторной попытке он использует tmp.iso, создаёт tmp2.iso, а дальше забывает смотреть в orig.iso.

Используя --inplace, избавляемся от tmp.iso, tmp2.iso, но принципиально ничего не меняется. Или они эту мелочь с временными файлами не осилили и вместо этого сделали inplace с ручным backup? Странно.

rsync -a --partial --partial-dir=.rsync-partial --progress --block-size=8192 -v url_server/file .
gag ★★★★★ ()
Ответ на: комментарий от post-factum

Но сервер не мой: zsyncmake'у это ничего?

У rsync, кстати, этот delta-механизм привязан к какой-то позиции, так что если точно не попасть, так он больше не видит совпадения?.. И это причина проблем с прерыванием: он не сохраняет это магическое число?

gag ★★★★★ ()
Ответ на: комментарий от aedeph_

Я имею ввиду, что если я руками сделаю backup, а потом укажу inplace - неужели всё так просто решается, а разрабы rsync это не включили в свою прогу?

На досуге попробую этот inplace, но ручной backup будет отнимать кучу времени: файлы-то большие!

gag ★★★★★ ()
Ответ на: комментарий от sdio

(а также aedeph_)

--inplace

Попробовал. Не, не подходит: ускорение (без разрыва соединения) совсем не то, что без inplace. rsync, похоже, использует другой подход.

gag ★★★★★ ()
Ответ на: комментарий от gag

Прекрати употреблять наркотики и напиши нормальным техническим языком, что ты делаешь, что ты хочешь получить, и что на этом сложном пути у тебя не получается.

aedeph_ ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.