Ответ 1
Нет. Вам нужно будет символически связать все отдельные файлы.
Что вы можете сделать, так это создать задание для периодического запуска, которое в основном удалит все существующие символические ссылки в images_all
, а затем заново создаст ссылки для всех файлов из трех других каталогов, но это немного kludge, что-то вроде этого:
rm -f images_all/*
for i in images_[abc]/* ; do; ln -s $i images_all/$(basename $i) ; done
Обратите внимание, что, хотя это задание выполняется, может показаться другим процессам, что файлы временно исчезли.
Вам также нужно будет следить за случаем, когда в двух или более каталогах существует одно имя файла.
Возвращаясь к этому вопросу через некоторое время, мне также приходит в голову, что вы можете свести к минимуму время, в течение которого файлы недоступны.
Если вы связываете их с другим каталогом, тогда выполняйте относительно быстрые операции 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
Я не тестировал, чтобы кто-нибудь, кто его реализовал, должен был подтвердить пригодность или иначе.