ルートからのrsync除外

ルートからのrsync除外

rsync の exclude について混乱しています。

/で始まるすべてのバックアップを試みていますが、/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/*"

関連情報