Не показывать каталоги в выводе rsync
Кто-нибудь знает, существует ли опция rsync, поэтому каталоги, которые пройдены, не отображаются на stdout.
Я синхронизирую музыкальные библиотеки, и огромное количество каталогов очень сложно понять, какие изменения файлов происходят на самом деле.
Я уже пробовал -v и -i, но оба они также показывают каталоги.
Ответы
Ответ 1
Если вы используете --delete в вашей команде rsync, проблема с вызовом grep -E -v '/$'
заключается в том, что он будет пропускать информационные строки, например:
deleting folder1/
deleting folder2/
deleting folder3/folder4/
Если вы создаете резервную копию и удаленная папка полностью уничтожена по причине X, она также уничтожит вашу локальную папку, потому что вы не видите строки удаления.
Чтобы опустить уже существующую папку, но одновременно удалять строки, вы можете использовать это выражение:
rsync -av --delete remote_folder local_folder | grep -E '^deleting|[^/]$'
Ответ 2
У меня возникнет соблазн фильтровать, используя piping через grep -E -v '/$', который использует привязку конца строки для удаления строк, которые заканчиваются косой чертой (каталог).
Здесь сеанс демонстрационного терминала, где я его проверил...
[email protected]:~$ mkdir rsynctest
[email protected]:~$ cd rsynctest/
[email protected]:~/rsynctest$ mkdir 1
[email protected]:~/rsynctest$ mkdir 2
[email protected]:~/rsynctest$ mkdir -p 1/first 1/second
[email protected]:~/rsynctest$ touch 1/first/file1
[email protected]:~/rsynctest$ touch 1/first/file2
[email protected]:~/rsynctest$ touch 1/second/file3
[email protected]:~/rsynctest$ touch 1/second/file4
[email protected]:~/rsynctest$ rsync -r -v 1/ 2
sending incremental file list
first/
first/file1
first/file2
second/
second/file3
second/file4
sent 294 bytes received 96 bytes 780.00 bytes/sec
total size is 0 speedup is 0.00
[email protected]:~/rsynctest$ rsync -r -v 1/ 2 | grep -E -v '/$'
sending incremental file list
first/file1
first/file2
second/file3
second/file4
sent 294 bytes received 96 bytes 780.00 bytes/sec
total size is 0 speedup is 0.00