Назад | Перейти на главную страницу

Сделайте резервную копию с помощью rsync и исключите

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