Я хотел бы сделать частичное резервное копирование с сервера с помощью rsync .
мой исключаемый файл выглядит как это
bin/
boot/
dev/
initrd.img
initrd.img.old
lib/
моя проблема теперь в том, что каждая папка lib, bin и т. д. будет пропущена в каждой папке, но я просто хочу пропустить папку / lib, / boot ... в корневой файловой системе
как сделать справиться с этим?
Глобальные пути исключения привязаны к корню передачи и, таким образом, чувствительны к конкретному вызову rsync, например если указана конечная косая черта. Если корнем передачи является корень файловой системы, то для исключения / lib /
нам нужно использовать именно этот шаблон исключения, а не lib /
. Подробнее см. man rsync
. Рассмотрим этот пример:
$ find .
.
./root1
./root1/lib
./root1/lib/file
./root1/home
./root1/home/lib
./root1/home/lib/file
./root2
./exclude
$ cat exclude
/lib/
$ rsync -aPn root1/ root2/
sending incremental file list
./
home/
home/lib/
home/lib/file
lib/
lib/file
$ rsync -aPn --exclude-from=exclude root1/ root2/
sending incremental file list
./
home/
home/lib/
home/lib/file