Unix

UNIX (Solaris) 中兩個目錄的選擇性同步

  • August 30, 2013

我想知道是否有人知道在兩個目錄結構之間部分複制(硬連結)文件的好方法?

我目前的回退是由 cron 呼叫的腳本。

作為背景:

我問,因為我有兩個組都需要訪問使用 Tomcat 通過 HTTP 提供的目錄結構中的文件主體。特權組可以訪問所有文件,而特權較低的組只能訪問“公共”子集。這些集合不與特定目錄對齊,但不同類的文件可以通過它們的命名約定(但不是副檔名)來辨識。

因此,我目前的想法是提供兩個單獨的目錄,一個僅包含私有目錄(可能受密碼保護),另一個包含公共目錄。然後執行一些定期過程,我從公共文件創建硬連結,以便它們出現在私有目錄中,以方便特權使用者。我選擇在那個方向連結,因為更重要的是文件立即可供非特權使用者使用。(priv = 管理員,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 作業可能就可以了。

引用自:https://serverfault.com/questions/102536