私のホームディレクトリと名前が特定のパターンと一致する2つのサブディレクトリにあるすべてのファイルを同期したいと思います。しかし、私のrsyncコマンドとフィルタはサブディレクトリの1つだけを通過します。
rsync -aHm --delete --include-from=/home/ftamborello/.rsync-include --exclude-from=/home/ftamborello/.rsync-exclude -e "ssh -A -t frank@frynseytv" /home/ftamborello/ :/Users/frank/Backup/
.rsync - 含む:
*.pdf
*.lisp
*.scr
*.r
*.txt
*.csv
*.py
*.c
*.h
*.[0-9][0-9]
.rsync*
.autobackup.sh
Documents/
fpt-logs/
.rsync-除外:
*
Rsyncコマンドの結果(-nvを使用):
building file list ... done
deleting .#fpt-log-2016.05.10
./
.ccl-init.lisp
.emacs.2016.06.17
.profile.2016.03.09
.profile.2016.08.05
.rsync-exclude
.rsync-include
fabfile.py
output.pdf
python-test.py
temp.txt
Documents/
fpt-logs/
fpt-logs/fpt-log-2015.12.16
fpt-logs/fpt-log-2015.12.17
...
fpt-logs/fpt-log-2016.08.19
fpt-logs/fpt-log-2016.08.22
sent 4,827 bytes received 1,130 bytes 2,382.80 bytes/sec
total size is 3,213,954 speedup is 539.53 (DRY RUN)
Documents/auto-backup-test.txtやcl-template.lispなど、インクルードパターンと一致する必要があるドキュメント階層にはかなり多くのファイルがあり、rsyncはそのファイルをコピーできないようです。
私は私のコードを開発するためにこのunix.stackexchange投稿を使用しました。
私は何を見逃していますか?
ベストアンサー1
私はrsync
マニュアルページを再びRTFMし、今回は知識のコアカーネルのように見えました。
--include
/コマンドラインオプションは、フルスコープの--exclude
ルール解析を許可しません。
これは、除外/インクルードファイルを指すと同じ結果が生成されることを意味します。だから.rsync-filter
ファイルを作成し、その-F
オプションを使用しました。 rsync はディレクトリ階層全体を移動し、.rsync-filter
私のファイルのパターンを期待どおりに一致させます。
したがって、解決策は、最も単純な場合を除くすべての場合に除外/包含の代わりにフィルタリングを使用するようです。