Просто сохраните свой "Доменный Функциональный уровень" на самом низком уровне для всех Ваших контроллеров домена. Т.е. если у Вас есть 2 003 контроллера домена, смешанные с 2008..., никогда не повышают Ваш доменный функциональный уровень выше 2003. Оборотная сторона - то, что, после того как Вы повышаете уровень..., Вы не можете возвратиться. У Вас может все еще быть 2 003 сервера... взаимодействующие с доменом..., но не функционирующие как контроллеры домена. С другой стороны, Вы можете иметь 2 домена... на 2 разных уровнях и установить доменное доверие между ними для взаимодействования между ними. (конечно, это может быть еще большим количеством головной боли, чем стоит попытаться управлять 2 доменами),
Если есть опция rsync, делающая именно то, что вы просите, я тоже не нашел ее на странице руководства. : -)
Тем не менее, Я не вижу проблемы с выводом вывода rsync -i
, чтобы проанализировать именно то, что вам нужно. Мне это приятно и Unixy.
Одна придирка с вашей командой rsync: -r
является избыточным, поскольку это подразумевается в -a
.
Начиная с версии rsync v3.1.0, выпущенной в 2013 году, установлен флаг --info
, позволяющий осуществлять мелкозернистый контроль над выходом.
--info=FLAGS
This option lets you have fine-grained control over the information output you want to see. An individual flag name may be followed
by a level number, with 0 meaning to silence that output, 1 being the default output level, and higher numbers increasing the output
of that flag (for those that support higher levels). Use --info=help to see all the available flag names, what they output, and
what flag names are added for each increase in the verbose level. Some examples:
rsync -a --info=progress2 src/ dest/
rsync -avv --info=stats2,misc1,flist0 src/ dest/
Note that --info=name’s output is affected by the --out-format and --itemize-changes (-i) options. See those options for more
information on what is output and when.
This option was added to 3.1.0, so an older rsync on the server side might reject your attempts at fine-grained control (if one or
more flags needed to be send to the server and the server was too old to understand them). See also the "max verbosity" caveat
above when dealing with a daemon.
-флаги --info
:
Use OPT or OPT1 for level 1 output, OPT2 for level 2, etc.; OPT0 silences.
BACKUP Mention files backed up
COPY Mention files copied locally on the receiving side
DEL Mention deletions on the receiving side
FLIST Mention file-list receiving/sending (levels 1-2)
MISC Mention miscellaneous information (levels 1-2)
MOUNT Mention mounts that were found or skipped
NAME Mention 1) updated file/dir names, 2) unchanged names
PROGRESS Mention 1) per-file progress or 2) total transfer progress
REMOVE Mention files removed on the sending side
SKIP Mention files that are skipped due to options used
STATS Mention statistics at end of run (levels 1-3)
SYMSAFE Mention symlinks that are unsafe
ALL Set all --info options (e.g. all4)
NONE Silence all --info options (same as all0)
HELP Output this help message
Options added for each increase in verbose level:
1) COPY,DEL,FLIST,MISC,NAME,STATS,SYMSAFE
2) BACKUP,MISC2,MOUNT,NAME2,REMOVE,SKIP
Не уверен, различается ли это между версиями / используемыми параметрами, но в версии mys, когда я использую параметр -i
, я получаю список вроде:
>f..T...... existing-file.png
>f+++++++++ new-file.png
cd+++++++++ new-dir/
>f+++++++++ new-dir/new-file.png
Итак, простое решение для получить только список фактически переданных файлов, просто запустите:
rsync [your options here] | grep -v "f..T......"
Это просто скроет все строки, содержащие f..T ......
. Таким образом, идентичные файлы будут скрыты.
- out-format
Согласно страница руководства:
При указании параметра
- out-format
будет упоминаться каждый файл, каталог и т. д. который существенно обновляется (переданный файл, воссозданная символическая ссылка / устройство или каталог).
Если вам нужны только фактические имена файлов ( - out-format = "% n"
), ваша команда пробного запуска может выглядеть так:
rsync -rzan --out-format = "% n" --ignore-times --checksum / tmp / app_export / (скрытый) rsync вызывается с
-v
, он внутренне использует эту опцию с форматом по умолчанию of "% n% L"
, который сообщает вам только имя файла и, если элемент является ссылкой, где она указывает.
Но это также включает в себя краткую сводку в начале и конец процесса синхронизации.
Чтобы избавиться от этой сводки, используйте параметр - out-format
напрямую.
Btw. -i
также внутренне использует - out-format
, но с форматом «% i% n% L»
.
На самом деле, вы как бы ответили на свой вопрос, поскольку в исходной команде он уже есть: - progress
Это правильный вариант, хотя страница руководства немного загадочно:
--progress show progress during transfer
-P same as --partial --progress
В этом есть смысл, поскольку вы вызываете строку rsync
в режиме dryrun, трансфера не происходит, но у вас все еще есть прогресс: а именно файлы, которые были изменены и будут перенесены .
Таким образом вы получите аккуратный небольшой список всех файлов, например:
В месте назначения уже есть копия измененного файла, который был обновлен в исходном файле, и старый файл, который остается неизменным. В источнике также есть дополнительный файл: newfile.
#~$ ls -lhan /tmp/destination/
total 20K
drwxrwxr-x 2 1000 1000 4,0K Jän 31 09:07 .
drwxrwxrwt 18 0 0 12K Jän 31 09:15 ..
-rw-rw-r-- 1 1000 1000 2 Jän 31 09:08 changedfile
-rw-rw-r-- 1 1000 1000 0 Jän 31 09:07 oldfile
#~$ ls -lhan /tmp/source/
total 20K
drwxrwxr-x 2 1000 1000 4,0K Jän 31 09:07 .
drwxrwxrwt 18 0 0 12K Jän 31 09:15 ..
-rw-rw-r-- 1 1000 1000 2 Jän 31 09:15 changedfile
-rw-rw-r-- 1 1000 1000 0 Jän 31 09:07 newfile
-rw-rw-r-- 1 1000 1000 0 Jän 31 09:07 oldfile
Если мы затем вызовем вашу команду rsync, но удалим элементы -i
и просто добавим dryrun -n
#~$ ~$ rsync -n -rza --progress --stats --ignore-times --checksum /tmp/source/ /tmp/destination/
sending incremental file list
changedfile
newfile
Number of files: 4 (reg: 3, dir: 1)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 2
Total file size: 2 bytes
Total transferred file size: 2 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 187
Total bytes received: 22
sent 187 bytes received 22 bytes 418.00 bytes/sec
total size is 2 speedup is 0.01 (DRY RUN)
, вы получите список только файлы rsync будут tranfser: changedfile и newfile.