Назад | Перейти на главную страницу

Выборочная синхронизация двух каталогов в UNIX (Solaris)

Мне интересно, знает ли кто-нибудь хороший способ частичного дублирования (жесткой ссылки) файлов между двумя структурами каталогов?

Мой текущий откат - это сценарий, вызываемый cron.

В качестве фона:

Я спрашиваю, поскольку у меня есть две группы, которым обеим нужен доступ к телу файлов в структуре каталогов, обслуживаемой через HTTP с помощью Tomcat. Привилегированная группа может получить доступ ко всем файлам, а менее привилегированная группа может получить доступ только к «общедоступному» подмножеству. Эти наборы не привязаны к конкретным каталогам, но другой класс файлов можно определить по их соглашению об именах (но не по расширению).

Поэтому моя текущая идея состоит в том, чтобы обслуживать два отдельных каталога, один из которых содержит только частные (возможно, защищенные паролем), а другой - общедоступный. Затем для запуска некоторого периодического процесса, посредством которого я создаю жесткие ссылки из общедоступных файлов, чтобы они появлялись в частных каталогах для удобства привилегированных пользователей. Я выбираю ссылку в этом направлении, поскольку важнее, чтобы файл был немедленно доступен для непривилегированных пользователей. (Priv = admin, unpriv = обычный пользователь)

Я надеюсь, что в этом есть смысл. Попробую уточнить, есть ли у кого вопросы.

Я бы использовал символические ссылки.

Вы можете использовать этот сценарий Bash:

#!/bin/bash
ln -s $1 $2/$(basename $1)

с чем-то вроде этих двух команд:

find unpriv_criteria -exec ./linkscript {} /unpriv/dir \; 
find priv_criteria -exec ./linkscript {} /priv/dir \;

Что-то вроде того, что предложил Деннис, могло бы работать в cron-работе или подобном.

Если бы это был Linux, я бы указал вам на inotify что позволит вам устранить задание cron и задержку в жестких ссылках, отражающих исходный каталог.

Однако, похоже, этого не существует в Solaris.

Если жесткие ссылки не слишком критичны, работа cron, вероятно, подойдет.