Выход rsync

Я новичок в rsync, и я не понимаю вывод, который я получаю, может кто-то помочь мне,

вывод содержит строки, такие как

<f.st...... somefile.txt
<f+++++++++ someOtherfile.zip
.d..t...... someDir/

Я не понимаю, что означают варианты слева, и мне трудно найти ответ на google. Спасибо.

Ответ 1

Я перефразировал здесь соответствующую часть man-страницы для людей, у которых есть проблемы с ее поиском:

Первый символ указывает на то, что происходит с файлом:

  • < означает, что файл передается на удаленный хост (отправляется).
  • > означает, что файл передается на локальный хост (полученный).
  • c означает, что для элемента происходит локальное изменение/создание (например, создание каталога или изменение символической ссылки и т.д.).
  • h означает, что элемент является жесткой ссылкой на другой элемент (требуется --hard-links).
  • . означает, что элемент не обновляется (хотя он может иметь атрибуты, которые изменяются).
  • * означает, что в остальной части области выделенного вывода есть сообщение (например, "удаление" ).

Второй символ указывает, какой тип записи в каталоге. В частности:

  • f для файла
  • d для каталога
  • L для символической ссылки
  • d для устройства
  • S для специального файла (например, socket или fifo)

Оставшиеся столбцы описаны ниже:

  • c означает, что обычный файл имеет другую контрольную сумму или что символическая ссылка, устройство или специальный файл имеет измененное значение.
  • S означает, что размер обычного файла отличается и будет обновляться путем передачи файла.
  • t или t:
    • t означает, что время модификации отличается и обновляется до значения отправителя
    • t означает, что время модификации будет установлено на время передачи
  • p означает, что разрешения различны и обновляются до значения отправителя
  • o означает, что владелец отличается и обновляется до значения отправителя
  • g означает, что группа отличается и обновляется до значения отправителя
  • . не используется

Следующие столбцы могут отсутствовать, в зависимости от ваших параметров передачи

  • a означает, что информация ACL изменена
  • x означает, что расширенная информация об атрибутах изменилась

Ответ 2

В man-странице есть хорошее объяснение, в разделе itemize-changes:

http://www.samba.org/ftp/rsync/rsync.html

(Между зеркальными архивами списков рассылок и (возможно, устаревшими) копиями документации может быть трудно попасть на эту страницу)

Ответ 3

Я считаю, что вывод происходит из флага "-i", несколько раз просматривает справочную страницу для "itemize" (или ищет "загадочный вывод" ), и он показывает, что означают все флаги:

  • < означает, что файл передается на удаленный хост (отправляется).
  • f для файла
  • d для каталога
  • s означает, что размер обычного файла отличается и будет обновляться путем передачи файла.
  • t означает, что время модификации отличается и обновляется

Ответ 4

"+" s объясняются в man-странице rsync следующим образом:

"Другие буквы в строке выше - это фактические буквы который будет выводиться, если связанный атрибут для элемента обновление или "." без изменений. Три исключения из этого являются: (1) вновь созданный элемент заменяет каждую букву "+", (2) идентичный элемент заменяет точки пробелами и (3) Неизвестный атрибут заменяет каждую букву "?" (это может перо при разговоре с более старым rsync).

Ответ 5

Версия rsync, установленная в моей системе, не дает такого вывода (возможно, вы можете уточнить параметры, которые используете?), но rsync пытается уменьшить объем данных, отправленных по сети, сканирование удаленного и локального файлов для идентичных "блоков" данных. Таким образом, только отдельные части файла, которые фактически отличаются друг от друга, должны быть отправлены по линии.

Я думаю, что очень вероятно, что те символы, которые вы видите в левом столбце, являются индикаторами для процесса согласования блоков. + может означать "идентичный" (или ., я полагаю), d, s и t может указывать сдвинутые блоки в смещении.