
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/*"