
Меня смущает исключение rsync.
Я пытаюсь сделать резервную копию всех файлов, начинающихся с /, но исключаю /media/ /mnt/ /home/files/ и /home/backup
sudo rsync -a \
--progress \
--stats \
--exclude-from=/home/files/ \
--exclude-from=/media/ \
--exclude-from=/mnt/ \
--exclude-from=/home/backup/ \
/ /home/backup
Не получится.
В итоге я копирую файлы в /home/backup/home/backup/... Я читал, что мне нужно писать исключения относительно моего корня переноса, но я полагаю, что если / является моим корнем переноса, то /media/ должен быть относительно него, верно?
решение1
man rsync
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
exclude-from используется для указания файла, в котором перечислены папки, которые вам не нужны. Попробуйте опцию --exclude
решение2
Ваш синтаксис неверен, поэтому он не работает.
Ты говоришь:
--exclude-from=/home/backup/
когда вам следует просто сказать
--exclude="/home/backup/*"
Кроме того, вы не используете
--delete-excluded
коммутатор, который может синхронизировать каталоги.
Что касается вашего вопроса в конце: Да, в вашем случае вы указываете /
в качестве начала для rsync. Так что если вы исключаете "tmp/*"
, то это действительно относительно, /
так что это то же самое, что указать"/tmp/*"