答えはもうわかっている気がしますが、チェックしてみようと思いました。
私はいくつかの異なるフォルダを持っています:
images_a/
images_b/
images_c/
この新しいディレクトリにこれらすべてのディレクトリの内容が含まれるように、ある種のシンボリックリンクを作成できますか?つまり、この新しい " "には、、および?images_all
のすべてのファイルが含まれます。images_a
images_b
images_c
いいえ。すべての個々のファイルをシンボリックにリンクする必要があります。
定期的に実行するジョブを作成して、の既存のシンボリックリンクをすべて削除し、他の3つのディレクトリからすべてのファイルのリンクを再作成することができimages_all
ますが、これは少し厄介です。次のようになります。
rm -f images_all/*
for i in images_[abc]/* ; do; ln -s $i images_all/$(basename $i) ; done
このジョブの実行中に、ファイルが一時的に消えたように見える場合があることに注意してください。
また、1つのファイル名が2つ以上のディレクトリに存在する場合にも注意する必要があります。
しばらくしてこの質問に戻ってきましたが、ファイルが利用できない時間を最小限に抑えることができることも私には思い浮かびます。
それらを別のディレクトリにリンクする場合はmv
、時間を最小限に抑える比較的高速な操作を実行してください。何かのようなもの:
mkdir images_new
for i in images_[abc]/* ; do
ln -s $i images_new/$(basename $i)
done
# These next two commands are the minimal-time switchover.
mv images_all images_old
mv images_new images_all
rm -rf images_old
私はそれをテストしていないので、それを実装する人は誰でも適合性などを確認する必要があります。
unionfsのようなunioningファイルシステムを試すことができます!