すべてのvimバックアップファイル(隠し* .swpファイル)を同期から除外しようとしています。私の除外ファイルのパターンは次のとおりです。
**.swp
私のrsync呼び出し:
rsync -ravu --exclude=~/sync/exclude.txt /home/username/Documents/ remotehost:/home/username/Documents/
このファイルは同期ルートのサブディレクトリにあります。動作しません。 Rsyncはvimバックアップファイルもコピーします。私はまた試した: *.swp
私は何が間違っていましたか?
答え1
(パターンを含むファイル名が必要)の--exclude
代わりに(パターンが必要)を使用しています。--exclude-from
再帰同期を有効にできるため、-r
(--recursive
)と-a
(--archive
)も必要ありません。実際には-a
マニュアルと-a
同じです。-rlptgoD
答え2
単一パターンが不要な場合とを**
使用することをお勧めします--exclude
。この--include
パターンを使用すると、--exclude
パターンに一致するディレクトリがコピーに含まれます。
rsync -a --include '*/' --exclude='.*.swp' /home/username/Documents/ remotehost:/home/username/Documents/
リモートユーザー名が/home/username
ホームディレクトリの場合は、相対パスを使用してさらに簡素化できます。
rsync -a --include '*/' --exclude='.*.swp' /home/username/Documents/ remotehost:Documents/
vim
また、一致するものがすでに存在するか使用されている場合は、別のファイル名がスワップファイルとして使用されることに注意してください。*.swp
しかし、この1つのパターンでほとんどを捉えることができます。文書が警告する内容は次のとおりです。
ファイルがすでに存在する場合(たとえば、競合から回復している場合)、警告が表示され、「.swo」、「.swn」などの他の拡張子が使用されます。
.*.sw[a-p]
十分な懸念がある場合は、使用する除外パターンを調整してください。