Я пытаюсь сделать резервную копию своих файлов на внешнем жестком диске через rsync, но у меня возникли трудности с использованием функции exclude-from, поскольку она ведет себя не так, как я думаю.
Мой дом (home/user) содержит следующее (упрощенно)
─directory/
─.cache/
─VirtualBox VM/
─backup_system/
├── copy_home_to_hdd.sh
└── exclude
исключить содержит следующее (упрощенно)
VirtualBox VM
.cache
Сценарий такой:
#!/bin/bash
rsync -avh -zl=0 --info=progress --exclude-from=exclude /home/user/ /media/user/HOMES/work/
Я запускаю скрипт из каталога backup_system и из home (./backup_system/copy_home_to_hdd.sh, когда я это делаю, я заменяю exclude-from, чтобы включить этот каталог). Я ожидаю, что rsync скопирует файлы и оставит место назначения, например
─directory/
─backup_system/
├── copy_home_to_hdd.sh
└── exclude
Однако он игнорирует список исключений и копирует все.