簡體   English   中英

給予sudo權限以將日志文件記錄在/a/b1/c.log和/a/b2/d.log等不同路徑上。

[英]give sudo permission to log files on different paths like /a/b1/c.log and /a/b2/d.log etc. files

我需要一個不錯的Centrify工具列,例如,它包括不同文件夾下的所有日志文件。

/oradata1/oracle/admin/A/scripts/rman_logs/*.log

/oracle/oracle/admin/B/scripts/rman_logs/*.log

/oradata2/admin/C/scripts/logs/*.log

我使用了它,但是*字符用戶可以看到所有日志; / ora(數據(1 | 2)| cle)/ oracle | admin / admin / * / scripts / rman_logs

/ora(data(1|2)|cle)/oracle|admin/admin/*/scripts/rman_logs

我必須使用哪個表達式。

如果我正確理解我們的問題,則只需要.log文件。 您可以使用肯定的前瞻性斷言它確實是一個log文件(在文件名末尾包含.log ),並且可以將文件名匹配為(.*)

那真的很容易。 (?=.*\\.log(?:$|\\s)).*當然,如果您想限制匹配項,也可以添加特定的文件夾,但是積極的前瞻仍將繼續進行。 (?=.*\\.log(?:$|\\s)).*/scripts/.*

編輯:作為您的注釋,您只需要這些文件夾,因此您只需交替指定它們的文件路徑,然后在末尾添加[^.\\s\\/]*\\.log 所以:

(?:\\/oradata1\\/oracle\\/admin\\/A\\/scripts\\/rman_logs\\/|\\/oracle\\/oracle\\/admin\\/B\\/scripts\\/rman_logs\\/|\\/oradata2\\/admin\\/C\\/scripts\\/logs\\/)[^\\s.\\/]*\\.log您可以通過嘗試組合文件路徑元素來縮短regex,但是imo並不是必需的,因為您最好指定每個如果文件路徑沒有太多重疊,則分別使用。

我發現了一種全球表達方式。

這不是一個好方法,但是它可以有效地使我免於大量工作。 所有服務器的主文件都在...... / scripts / rman_logs /下,因此我使用這種方式。

我可以生成這些行,並且可以作為用戶的命令組,所以效果很好

尾巴/ / / / /scripts/rman_logs/*.log

尾巴/ / / / scripts / rman_logs / .log

感謝您的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM