Я пытаюсь создать резервную копию своего домашнего каталога с помощью rsync, и я хочу исключить некоторые каталоги, содержащие ненужный мусор. Я хочу специально исключить /home/ben/.ccache
и /home/ben/build
. К сожалению, документация для rsync была перегружена информацией и не ответила на мой вопрос. Это то, что я пробовал:
rsync -arv --exclude "/home/ben/.ccache:/home/ben/build" /home/ben /media/ben/thumbdrive/
Как правильно это сделать?
Хорошо, я чувствую себя действительно глупо. Еще до того, как я опубликовал этот вопрос, мой друг показал мне, как это сделать, и это действительно просто. Чтобы исключить несколько каталогов, вы просто используете несколько --exclude=path
переключатели. Итак, моя команда, правильно написанная выше, выглядит следующим образом:
rsync -arv --exclude=.ccache --exclude=build /home/ben /media/ben/thumbdrive/
Примечание: Используйте относительные пути с помощью exclude. Пути указаны относительно исходного каталога, здесь /home/ben.
Если необходимо исключить несколько каталогов и/или файлов, создайте текстовый файл и используйте --exclude-from
переключатель. Создайте файл с именем exclude_me.txt
и в нем перечислите ваши исключения.Пример (/home/ben/exclude_me.txt
):
.ccachebuild.java.gvfs.xsession-errors
Тогда ваш rsync будет выглядеть примерно так:
rsync -arv --exclude-from='/home/ben/exclude_me.txt' /home/ben /media/ben/thumbdrive/
Это некоторая информация о правилах фильтрации, которая может помочь:
-
/dir/
означает исключить корневую папку /dir
-
/dir/*
означает получить корневую папку /dir
но не содержание
dir/
означает исключить любую папку в любом месте, где имя содержит dir/
Примеры исключены: /dir/, /usr/share/directory/, /var/spool/dir//var/spool/lpd/cf
означает пропустить файлы, начинающиеся с cf
в любой папке внутри /var/spool/lpd
Также смотрите правила фильтрации раздел на справочной странице.
Вы также можете исключить несколько путей в фигурных скобках:
rsync -arv --exclude={.ccache,build} /home/ben /media/ben/thumbdrive/
Просто хотел сказать, что флаг a
уже подразумевает r
-a, --archive режим архивирования; равен -rlptgoD (no -H,-A,-X)