常に同じ日付タイムスタンプと同じファイルサイズを持つ/home/my/some/filename.xxファイルがあります(修正されていても)。毎回この特定のファイルのみをコピーするようにrsyncをどのように指定しますか?私の現在のバックアップコマンドは次のとおりです。
sudo rsync -axvq --exclude /home/my/it/ --exclude /oit -e "ssh -i /home/my/.ssh/id_rsa" --rsync-path="sudo rsync" / [email protected]:/backup
答え1
ファイル名によって異なるファイルを異なる方法で処理するようにrsyncに指示する唯一の方法は、フィルタを介することです。フィルタは、ファイルが完全に同期されているか、ファイルが削除されたかを確認できますが、ファイルが最新であることを確認するために使用される方法は確認できません。
したがって、2つの別々のrsyncコマンドを使用する必要があります。 1つはこのファイルを除き、もう1つはこのファイルに特に異なるファイル比較方法を使用します。
rsync -axvq --exclude /home/my/some/filename.xx … / [email protected]:/backup &&
rsync -axvq --checksum --include / --include /filename.xx --exclude '*' /home/my/some/ [email protected]:/backup/home/my/some/
2番目のコマンドはディレクトリを同期しますが、転送したいファイルを除くすべてのファイルを除外します。私がこれを行う理由は、ディレクトリがfilename.xx
作成されたときに変更されるディレクトリのタイムスタンプをコピーするためです。この特別なケースが面倒でない場合は、2行目を単純化してコピーできますfilename.xx
。