Rsync: предоставить список неотправленных файлов - PullRequest
5 голосов
/ 16 февраля 2012

Флаг Rsync -u предотвращает перезапись измененных файлов назначения.Как я могу получить список файлов, которые не были отправлены из-за этого флага?Флаг -v позволит мне узнать, какие файлы были отправлены , но я хотел бы знать, какие из них не были .

1 Ответ

7 голосов
/ 24 февраля 2012

со страницы руководства rsync :

-i, --itemize-changes

Запрашивает простой подробный список изменений, которые сделано для каждого файла, включая изменения атрибутов. Это точно так же, как указание --out-format = '% i% n% L'. Если вы повторите опция, неизмененные файлы также будут выводиться , но только если Получающий rsync имеет версию не ниже 2.6.7 ( вы можете использовать -vv с старые версии rsync , но это также включает вывод другие подробные сообщения).

В моем тестировании опция -ii не работает с rsync 3.0.8, но -vv работает. Ваш пробег может отличаться.

Вы также можете получить практически ту же информацию, вызвав rsync с --dry-run и --existing в противоположном направлении. Так что, если ваш регулярный перевод выглядел так:

rsync --update --recursive local:/directory/ remote:/directory/

Вы бы использовали:

rsync --dry-run --existing --recursive remote:/directory/ local:/directory/

, но -vv или -ii безопаснее и менее подвержены неправильному толкованию.

...