UNIX(Solaris)中两个目录的选择性同步

UNIX(Solaris)中两个目录的选择性同步

我想知道是否有人知道在两个目录结构之间部分复制(硬链接)文件的好方法?

我当前的后备方案是 cron 调用的脚本。

背景:

我之所以问这个问题,是因为我有两个组都需要访问使用 Tomcat 通过 HTTP 提供的目录结构中的文件主体。特权组可以访问所有文件,而特权较低的组只能访问“公共”子集。这些集合与特定目录无关,但可以通过其命名约定(而不是扩展名)来识别不同类别的文件。

因此,我目前的想法是提供两个单独的目录,一个只包含私有目录(可能有密码保护),另一个包含公共目录。然后运行一些定期过程,从公共文件创建硬链接,以便它们出现在私有目录中,以方便特权用户。我选择朝那个方向链接,因为更重要的是让非特权用户立即可以使用该文件。(priv = 管理员,unpriv = 普通用户)

我希望这说得通。如果有人有疑问,我会尽力澄清。

答案1

我会使用符号链接。

你可以使用这个 Bash 脚本:

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

使用类似这两个命令:

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

答案2

丹尼斯所提议的东西可以在 cron 作业或类似作业中发挥作用。

如果这是 Linux,我会告诉你通知这将允许您消除反映原始目录的硬链接的 cron 作业和延迟。

然而,这在 Solaris 下似乎并不存在。

如果硬链接不是太重要,那么 cron 作业可能就足够了。

相关内容