Crie um link a partir da pasta /opt/program/logs
e aponte para /home/user/logs
:
ln -s /home/user/logs /opt/program/logs
Eu trabalho para uma pequena empresa de software. Temos um produto que, por padrão, grava em um diretório de logs dentro do diretório de instalação (eu sei, isso pode não ser o melhor caminho, mas está resolvido a partir de agora): /opt/<program>/logs
Eu tenho um usuário que deseja que cada um de seus usuários (no Linux), ao executar nosso programa, tenha logs gravados em seus diretórios de usuários por sessão, como /home/<user>/<program>/logs
. Existe uma boa maneira de configurar isso, confiando no meu programa sempre escrevendo para /opt/<program>/logs
por padrão?
Não sou especialista em Linux, mas acho que isso pode ser feito.
Seria melhor perguntar isso na diretoria do Linux SE?
Qualquer ajuda é apreciada!
NOTA - Esses registros são criados para o programa quando ele é executado, independentemente de quem esteja logado para usá-lo. Todos eles vão para o mesmo diretório: /opt/<program>/logs
. Se eu criar um link simbólico, tudo o que duplicaria os logs em outro diretório. O que eu preciso é dos logs de cada usuário para sua sessão em seus respectivos diretórios /home/<user>/<program>/logs
.
Crie um link a partir da pasta /opt/program/logs
e aponte para /home/user/logs
:
ln -s /home/user/logs /opt/program/logs
Como é o log? Existe a possibilidade de verificar qual usuário criou uma entrada?
Você pode usar o syslog-ng
para observar os arquivos em /opt/<program>/logs
e, dependendo da entrada (por exemplo, uma expressão regular), gravar um segundo arquivo de log em $USERHOME/logs
.
Se apenas um usuário estiver usando seu programa, você poderá conceder a ele permissões de leitura para este diretório e seus arquivos. Mas se houver entradas sensatas de outros usuários, isso é uma má ideia.
Tente remover o diretório / logs / e navegue para / opt / program e digite
ln -s ~ / logs
No entanto, você precisará adicionar um
mkdir ~ / logs
para o script de inicialização de cada usuário.