rsync может быть настроен, чтобы не изменять подкаталоги, не найденные в исходной папке?

Обратите внимание, что на уровне файловой системы есть NO D Iffere между ASCII и двоичными файлами. ASCII или текстовый файл - это просто двоичный файл, содержащий байты, которые являются читаемыми людьми (или команды управления, такие как LF = новая строка).

Чтобы отобразить сохраненные байты в двоичной форме, вы можете использовать XXD (часть VIM ):

xxd -b INPUTFILE | cut -d" " -f 2-7 | tr "\n" " "

Чтобы сохранить результат в файле, используйте:

xxd -b INPUTFILE | cut -d" " -f 2-7 | tr "\n" " " > OUTPUTFILE
1
28.10.2014, 00:20
2 ответа

Согласно man rsync вы можете использовать:

--exclude=PATTERN

Или ваш список слишком большой, вы можете использовать:

--exclude-from=FILE 
0
28.01.2020, 01:51

То, что вы описываете, является стандартным поведением по умолчанию для rsync.

Если бы вы хотели другое поведение, вам пришлось бы использовать одну из --delete опций.

Это тест, который доказывает мою точку зрения:

 $ mkdir tmp1
 $ mkdir tmp2
 $ mkdir tmp1/1
 $ mkdir tmp1/2
 $ mkdir tmp2/1
 $ mkdir tmp2/X
 $ touch tmp1/1/1.txt
 $ touch tmp1/2/2.txt
 $ rsync -avz tmp1 tmp2
 sending incremental file list
 tmp1/
 tmp1/1/
 tmp1/1/1.txt
 tmp1/2/
 tmp1/2/2.txt

 sent 208 bytes  received 62 bytes  540.00 bytes/sec
 total size is 0  speedup is 0.00
 $ ls tmp2
 1  tmp1  X

Вы можете увидеть, что каталог X там, нетронутый.

Если вы используете его в качестве демона, возможно, ваша rsync применяет опции из конфигурационного файла.

Посмотрите на /etc/rsyncd.conf, чтобы увидеть, установлены ли там какие-либо опции удаления, или на rsyncd.conf в домашнем каталоге пользователя, который запускает rsync

0
28.01.2020, 01:51

Теги

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