我在一家小型软件公司工作。我们有一个产品,默认情况下会将内容写入安装目录中的日志目录(我知道,这可能不是最好的方法,但目前已修复):/opt/<program>/logs
我有一个用户,他希望每个用户(在 Linux 上)在运行我们的程序时,将日志写入每个会话的用户目录,例如/home/<user>/<program>/logs
。有没有一个好的方法可以设置它,依赖于我的程序始终/opt/<program>/logs
默认写入?
我不是 Linux 专家,但我认为这是可以做到的。
在 Linux SE 板上问这个问题会更好吗?
任何帮助都将不胜感激!
笔记- 无论谁登录使用程序,这些日志都是在程序运行时创建的。它们都进入同一个目录:/opt/<program>/logs
。如果我创建符号链接,那么它所做的就是将日志复制到另一个目录中。我需要的是将每个用户的会话日志复制到各自的/home/<user>/<program>/logs
目录中。
答案1
从文件夹创建一个链接/opt/program/logs
并将其指向/home/user/logs
:
ln -s /home/用户/日志/opt/程序/日志
答案2
尝试删除 /logs/ 目录,然后导航到 /opt/program 并输入
ln -s ~/日志
但是,您需要添加
mkdir ~/logs
每个用户的启动脚本。
答案3
日志是什么样的?是否有可能检查哪个用户创建了条目?
您可以使用来syslog-ng
监视中的文件/opt/<program>/logs
,并根据条目(例如正则表达式)将第二个日志文件写入$USERHOME/logs
。
如果只有一个用户在使用你的程序,你可以授予他对该目录及其文件的读取权限。但如果有其他用户的合理输入,那么这是一个坏主意。