У меня есть несколько исходных каталогов, скажем /home/me/source1
и /mnt/somedisk/source2
. Я хочу подтолкнуть их обоих к чему-то вроде /home/someoneelse/dest1
и /home/someoneelse/dest
соответственно. Я бы хотел использовать для этого одну команду rsync, возможно ли это?
А как насчет N каталогов в N каталогов, где каждый каталог уникален?
Если вы делаете это часто, я бы также предложил решить эту проблему с помощью сценариев.
Если корень назначения всегда один и тот же, например: rsync /foo/blah1 /bar/
и rsync /fin/blah2 /bar/
Вы можете справиться с этим с помощью простого цикла for в Bash.
for x in /foo/blah1 /fin/blah2
do
rsync $x /bar
done
И в этом отношении вы также можете настроить вложенные циклы, чтобы различные источники могли переходить к каждому месту назначения. Мы уже много лет используем это в качестве основной системы резервного копирования в нашем офисе.
Если вам не нужно копировать какие-либо символические ссылки, вы можете настроить каталог на принимающей стороне, который имитирует макет каталогов на отправляющей стороне, причем каждая ссылка указывает на предполагаемое место назначения.
Единственный подход - наличие символических ссылок source1
и source2
на принимающей стороне и запустить процесс получения с --keep-dirlinks
.
Если вам нужно передать символические ссылки, вы можете сделать --no-implied-dirs
работать на вас. Снова у вас будут символические ссылки на принимающей стороне, но на этот раз внутри структуры каталогов, т.е. home/me/
будут каталогами (внутри целевой папки rsync, где бы вы ни хотели) и home/me/source1
будет символической ссылкой на /home/someoneelse/dest1
. Когда не используется --keep-dirlinks
, то переносить source1
сам (так как это удалит символическую ссылку и заменит ее каталогом), но вместо этого все файлы внутри source1
, т.е. /home/me/source1/*
. Использовать shopt -s dotglob
чтобы найти и скрытые файлы в нем.
Все это проверяется только удаленно: я знаю, что когда-то что-то в этом роде работало, но сейчас у меня нет подробностей или команд. Поэтому проверьте возможные комбинации, в частности, изменения между каталогами и символические ссылки на каталоги, прежде чем использовать это в производственной установке.