Я хотел бы сделать частичную резервную копию с сервера с 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