私はスクリプトでコマンドを使用しており、これを数年間使用しました。昨年はスクリプトを使用しませんでしたが、今日は再度実行しました。しかし、rsyncからファイルを除外するのに突然問題が発生します。
私はUbuntu 18.04(rsyncバージョン3.1.2)を使用しています。次のコマンドを実行します。
rsync -exclude-from='sync_exclude.txt' -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
sync_exclude.txt
ファイルは次のようになります。
$ cat sync_exclude.txt
.idea
.git
.gitignore
.DS_Store
sync_exclude.txt
ansible/*
.env
しかし、驚いたことに、rsyncはこの除外ファイル内のすべてのものも同期するようになりました。
私は次のような他のバリエーションを試しました
rsync -exclude=.git/ -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude=".git/" -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude=/.git/ -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude=/.git/* -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude /.git/ -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude /.git/* -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude="/.git/*" -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude "/.git/*" -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude={.git/,"ansible/*"} -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude {.git/,"ansible/*"} -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
etc.
しかし、それらのいずれも.git/
またはansible/
フォルダーを除外しません。MacOSでも試しましたが、同じ問題があります。
私は頭を壁にぶつけて、なぜこれが突然機能しなくなったのか。
誰かが私の不幸から私を助けることができますか?
--exclude