
Я знаю, что существует довольно много тем «rsync и символические ссылки», но я не могу найти ни одной, которая подходила бы к моей проблеме.
Я хочу использовать rsync для создания резервных копий раздела /home
, с той разницей, что /home содержит несколько настоящих домашних каталогов и несколько символических ссылок на другую файловую систему:
/home/user1 (a directory)
/home/user2 (a symlink to another fs)
Я стараюсь использовать:
rsync -axv --delete /home /some_backup/
Где /some_backup
уже содержится:
/some_backup/home/user1
/some_backup/home/user2
/some_backup/home/user3
…из которых каталоги user2
и user3
заполнены другим rsync с другого компьютера. К сожалению, эта строка rsync не работает, так как мой вызов rsync удалит /some_backup/home/user3
(потому что этого нет в моем /home) и также /some_backup/home/user2
(потому что это символическая ссылка вне fs).
Есть ли способ указать rsync игнорировать целевые каталоги, которые не имеют соответствия в источнике? Мне нужно, --delete
потому что в противном случае это поведение требуется.
Одним из возможных решений является использование одного оператора rsync для каждого каталога /home/user, который необходимо скопировать (вместо резервного копирования всего /home). Это неидеально, поскольку пользователи приходят и уходят, что потребует гораздо большего обслуживания.