繁体   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