私のシナリオを実際にrsyncとして扱うことができるかどうか疑問に思います。 Rsyncはローカルとリモートの間でうまく機能します。
htdocs/
folderswithfilesIneed/
somefilesandfolders.jpg
afolder/
somefiles.png
version/
photofolder/
photowithstupidname.jpg
...
anotherfolderwithstupidname/
photowithstupidname.jpg
...
...
これらすべてのファイルとフォルダを同期したいのですが、「photofolder」と「anotherfolderwithstupidname」のすべてのファイルを除外したいと思います。
誰でもこれを一度に考えてみましたか?
編集:もう少し明確に言えば、「バージョン」にフォルダが多いので、その内容を1つずつ除外することはできません。
ベストアンサー1
もちろん、これは除外ルールを使用すると簡単に実行できます。ディレクトリとそのコンテンツの両方を除外するには、ディレクトリ自体を除いてナビゲートしないでください。ディレクトリのみを含めsomedir
て内容を含めたくない場合は(空のディレクトリ転送など)を除外しますsomedir/*
。除外句がで始まる場合、/
これは同期しているディレクトリルートへのパスです。
rsync -a --exclude='/version/photofolder/*' --exclude='anotherfolderwithstupidname/*' htdocs/ elsewhere/
すべてのサブディレクトリを含み…/version
、ディレクトリ以外のファイルは含まず、…/version
サブディレクトリのコンテンツを除外する場合:
rsync -a --include='/version/*/' --exclude='/version/*' htdocs/ elsewhere/
すべてのサブディレクトリとその内容を含むが…/version
ディレクトリではない次のファイルを除外する場合…/version
:
rsync -a --include='/version/*/' --include='/version/*/*' --exclude='/version/*' htdocs/ elsewhere/