Почему rsync dry-run перечисляет одни каталоги, а не другие?

Это похоже на ошибку, регрессию от wget 1.18 до wget 1.19.1, которая используется в Arch Linux. Я открыл отчет об ошибке здесь: https://savannah.gnu.org/bugs/?51181

Эта ошибка исправлена ​​в Wget 1.19.3, выпущенном 19 января 2018 года.

0
22.06.2017, 15:07
1 ответ

Хотя у меня нет окончательной документации, чтобы указать на это, я думаю, что это то, что происходит.

С помощью -v|--verboseперечисляются файлы, которые должны быть переданы (или будут переданы, если указано -n|--dry-run). Каталоги — это просто файлы в Unix-подобных ОС, и они перечислены по тем же правилам.

Итак, когда переносятся каталоги? (Кроме случаев, когда они явно не существуют на цели.) Если вы укажете -t|--times(что подразумевается -a), они будут переданы когда их временные метки меняются. Аналогичные правила, если их атрибуты изменились.

А когда каталоги меняют временные метки? Судя по наблюдению, это (по крайней мере) когда файл в каталоге создается или переименовывается, но не когда файл просто меняет свои атрибуты, например, время.

Таким образом, если вы нажметеновый файл в testDir11, testDir11изменит отметку времени и станет доступным для передачи. Но если вы коснетесьсуществующего файла, каталог не изменится.

2
28.01.2020, 02:25

Теги

Похожие вопросы