ディレクトリを監視するツールはありますか?プログラムがそのディレクトリ内のファイルにアクセスしようとすると、そのファイルをロードしたいすべてのアプリケーションに対して別の場所からファイルを透過的にロードしますか?
その背景には、大規模なサーバーアプリケーション用のローカル開発環境があるということです。現時点では、本番システムでは、ユーザーが作成したすべてのファイルをrsync
ローカルコンピュータに頻繁に同期します。しかし、データ量が多すぎました。実稼働環境にある数百ギガバイトのデータをローカル開発コンピューターに保存することはできません。外部システムのファイルを模倣し、実際に必要な場合にのみ外部システムからファイルをロード/同期する方法はありますか?
ただし、これらの「監視対象」ディレクトリへの書き込み変更はローカルでのみ実行できます。
答え1
あなたの状況は自然なようです。同盟。 Unionfsを使用すると、本番システムのデータを読み取り専用ファイルシステムとしてマウントし、その上に透明で書き込み可能なファイルシステム層をインストールしてローカルの変更に対応できます。
答え2
ネットワーク経由でリモートファイルシステムをマウントするのが良い解決策かもしれません。この目標を達成する可能性はたくさんあります。
NFS、SMB、またはSSHFSを介して本番システムからいくつかのディレクトリをエクスポートし、開発システムにインストールできます。この方法では、ファイルは要求された場合にのみネットワーク経由で送信されます。
ユーザーファイルを本番システムから開発システムに転送する目的は何ですか?リモートファイルシステムをマウントするオプションを選択した場合は、偶発的な破損を防ぐために読み取り専用モードでマウントする必要があります。
答え3
仕事だと思います。FSキャッシュ。これは、アプリケーションを物理ファイルシステム(リモートファイルをキャッシュしたい場合はNFSまたはSSHfs)に接続するために使用されるLinuxファイルシステムです。
クイックスタートガイド:
cachefilesd
mount -t nfs -o fsc remotehost:/somedir /mount/point
ls /var/cache/fscache
詳細については、次を参照してください。Fedora ドキュメント、RHELドキュメント、バートのブログ、古いGentoo Wiki。たぶんあなたはまたについての記事に興味があるでしょう。CacheFSおよびFSキャッシュ。