Использование rsync с exclude / include

Я использую 2 сервера Ubuntu 9.10. Я должен синхронизировать изменения между этими двумя машинами. Следующие каталоги нужно синхронизировать:

/ usr, / etc, / var, / bin, / sbin, / lib

Я использую rsync, как показано ниже для репликации :

rsync -avP 192.168.2.100:/usr/ /usr

rsync -avP 192.168.2.100:/etc/ /etc ------ здесь мне придется исключить множество файлов, таких как / etc / udev / *, / etc / hosts, / etc / имя хоста, ...

Я попытался использовать rsync -avP --exclude '/etc/fstab' 192.168.2.100:/etc/ /etc, но он перезаписал весь каталог / etc

Может ли кто-нибудь отредактировать и дать мне rsync для одной строковой команды, которая синхронизирует указанные каталоги, а не исключенные? Нужна помощь!

6
задан 15 November 2010 в 15:38

4 ответа

Следующее является командой rsync для синхронизации нескольких каталогов в коротком и работается для меня. Сообщите мне - ли это правильный способ использовать.

Это должно быть выполнено в ИСХОДНОЙ системе:

rsync -avP --exclude 'udev' --exclude 'hosts' --exclude 'hostname' --exclude 'any-account-under-home' /etc /home /usr /var /lib /bin /sbin 192.168.2.100:/

Мы можем исключить много файлов/каталогов из указанных каталогов.

Если у нас есть файл с тем же именем, которому позволяют, говорит 'тест' под/etc/и / домой, и Вы хотите исключить этот файл только из / и т.д., то размещение исключить запись, исключая 'тест' от всех.

0
ответ дан 15 November 2010 в 15:38

Шаблон исключения относится к исходным файлам , а не к целевым файлам. Вы фактически исключаете 192.168.2.100:/etc/etc/fstab, которого не существует.

Вы должны использовать:

rsync -avP --exclude '/fstab' 192.168.2.100:/etc/ /etc
0
ответ дан 15 November 2010 в 15:38

Вы должны использовать что-то вроде этого:

$ sudo rsync "$backup_options" --log-file="$backup_log_file" --include-from="$backup_incl_from_file" --exclude-from="$backup_excl_from_file" "$backup_src_folder" "$backup_dest_folder"

где текстовый файл $ backup_incl_from_file должен содержать:

usr/***
etc/***
var/***
bin/***
sbin/***
lib/***
...

и текстовый файл $ backup_excl_from_file должен включать:

etc/udev/
etc/hosts
etc/hostname
...

В этом примере

backup_src_folder="192.168.2.100:/"
backup_dest_folder="192.168.2.101:/"

Важно, чтобы вы прочитали справочную страницу rsync , прежде чем использовать этот пример, ваши потребности, обращая особое внимание на раздел ВКЛЮЧИТЬ / ИСКЛЮЧИТЬ ПРАВИЛА ШАБЛОНА .

0
ответ дан 15 November 2010 в 15:38

Попробуйте это в окне «Дополнительные параметры», чтобы исключить каталог и его подкаталоги.

- исключить «/ user / pathtodirectory * /», где «user» - ваше имя пользователя, а «pathtodirectoy» - это каталог, который вы хотите исключить, вместе со всеми его подкаталогами. Убедитесь, что вы включили двойные кавычки и косую черту.

Пример: --exclude "/ johndoe / downloads * /"

Проверено на Ubuntu 14.04 и Ubuntu Gnome 14.04.

0
ответ дан 15 November 2010 в 15:38

Другие вопросы по тегам:

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