2

Я пытаюсь создать текстовый файл журнала после выполнения rsync. Я попытался использовать командную строку: rsync -av /source / / dest /> log.txt Созданный текстовый файл показывает только имена файлов, которые "различаются" между исходной папкой и папкой назначения, которая находится близко к тому, что я хочу.

Есть ли способ для меня, чтобы создать файл журнала, который группирует файлы, которые "отличаются" в файлы, которые были изменены и созданы?

Спасибо.

2 ответа2

4

Используйте опцию --log-file.

rsync -av /source/ /dest/ --log-file=mylog.log
0

Главная идея
Для любого современного rsync можно использовать --info вместо -v , например:

rsync --info=COPY2,DEL2,NAME2,BACKUP2,REMOVE2,SKIP2 -a source/ dest/ > log.txt
# or eventually with --log-file=mylog.txt

Некоторые дополнительные операции

Результирующий вывод / файл будет похож на

file1.zip is uptodate
file2.odt
Dir1/
Dir1/file3.txt

Затем вы можете использовать grep для фильтрации результатов, например, что-то вроде

grep    'is uptodate' mylog.txt | sed 's/is uptodate//g' > Already_Uptodate.txt
grep -v 'is uptodate' mylog.txt                          > Updated_Now.txt

В первой строке я удалил строку «istodate» с помощью sed, чтобы получить более чистый вывод. Это открывает проблему, если у вас есть файл с именем « istodate », конечно :-) Он должен обрабатываться по-другому ...


Еще несколько слов

Вы можете выбрать информацию и уровень информации, который вы хотите для каждого варианта

В современном rsync опция -v эквивалентна установке групп параметров --info и --debug.

Вы можете использовать эти новые опции в дополнение или вместо использования --verbose , так как любые детальные настройки переопределяют подразумеваемые настройки -v .

И --info и --debug имеют способ обратиться за помощью, которая точно скажет, какие флаги установлены для каждого увеличения многословия.

Список, полученный с помощью rsync --info=help представлен ниже, а список из rsync --debug=help вообще не сообщается:

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

В случае , если на часть Rsync (клиент-сервер) не достаточно современен , вы должны использовать больше v и больше усилий. На самом деле вы можете использовать -vv , -vvv , -vvvv увеличивая каждый раз в многословии, но анализ будет более сложным.

Более двух опций -v следует использовать, только если вы отлаживаете rsync

Действительно полезной лекцией может быть man rsync в разделе, где говорится о параметрах -v и особенно --info=FLAGS .

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