sudo
não é um privilégio específico da sessão. sudo
é um comando que executa outros comandos com privilégios elevados. Então, basta executar seu tee
com sudo
:
2>&1 | sudo tee -a /tmp/Solr_Install.log W
Estou escrevendo um script de instalação e preciso executá-lo com sudo
enquanto eu testo em instâncias do AWS RedHat, portanto, não posso ir diretamente como root
. Eu quero escrever o log em um arquivo, bem como na tela. Nada deve ser mais fácil do que isso,
Eu posso ir à velha escola >> /tmp/Solr_Install.log 2>&1
e iniciar um processo final em segundo plano: tail -f installer.log &
Essa solução tende a duplicar ou triplicar a saída na tela, então optei por uma solução tee-totaller.
Apenas use o poder da força e 2>&1 | tee -a /tmp/Solr_Install.log
. Com essa solução, perco meus direitos de sudo e o script falha.
Perguntas:
Por que a cauda mostra a mesma linha 2-3 vezes? (Tem algo a ver com o fato de que tail -f
exibe as últimas 10 linhas?)
Isso pode ser corrigido de alguma forma?
Por que eu perdi meu sudo quando eu tee?
Isso pode ser evitado?
Existe alguma outra maneira de lançar materiais de registro em um arquivo e na tela ao mesmo tempo?
sudo
não é um privilégio específico da sessão. sudo
é um comando que executa outros comandos com privilégios elevados. Então, basta executar seu tee
com sudo
:
2>&1 | sudo tee -a /tmp/Solr_Install.log W