Я анализирую вывод rsync и хотел бы быть уверенным, что знаю, что я получаю. Мне интересно, использовать ли --out-format '%i %n' или --out-format '%i %f' , но в чем разница, кроме косой черты в каталогах?

man rsyncd.conf говорит в log format:

  • % n имя файла (краткая форма; завершающий "/" в директории)
  • % f имя файла (длинная форма для отправителя; нет завершающего символа "/")

- В чем разница между "короткой формой" и "длинной формой"?

1 ответ1

0

Источник https://git.samba.org/?p=rsync.git;a=blob;f=log.c;h=b145ee1d893904835cd3c9276ec7c9c6fbaf13f3;hb=HEAD#l589 .

% n - более простая версия, и она просто печатает имя файла относительно места назначения, поэтому, если вы вызовете rsync с аргументом источника a/b , то он напечатает, например, b/somefile .

% f печатает имя файла относительно источника, если am_sender , поэтому, если аргумент источника был a/b , он напечатает, например, a/b/somefile . Если am_daemon , то, кажется, к нему добавляется имя модуля, хотя я никогда не пробовал этого. Кроме того, он вызывает clean_fname , которое, по-видимому, удаляет лишние двойные косые черты или точки из источника (например, если вы вызываете его с a//./b он по-прежнему печатает a/b/somefile).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .