Выход 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
может указывать сдвинутые блоки в смещении.