Tee causa problemas de formato no console ao executar comandos lxc-attach na sessão

0

Eu uso tee para capturar a saída de um script de instalação para um arquivo da maneira usual. Tudo está bem, exceto quando há comandos lxc-attach executando em um contêiner LXC Linux. Por exemplo (veja captura de tela em anexo) na tela da direita está a saída do console ao usar tee dos comandos "lxc-attach -n container - yum -y install" e na tela esquerda está o "tail -f log" do tee'd log. Como pode ver o tee log obtém formatação correta, mas ao usar tee a saída do console dos comandos executados via lxc-attach obtém extra quebra de linha ou tabs etc. Qualquer forma de usar tee ou um tee equivalente para que tanto o tee log quanto o tee log do console são ambos formatados corretamente? ver captura de tela

    
por gstanden 06.02.2018 / 18:24

1 resposta

0

Toda a atividade registrada que preciso capturar são comandos sudo. Caso isso ajude alguém, aqui está a solução alternativa que encontrei aqui e aqui e estou usando agora (escrevi o código abaixo com base no que aprendi sobre esta facilidade de registro para o sudo). É muito fácil de usar e fornece registros altamente detalhados. É uma solução incrível, muito feliz com isso e com a reprodução, você realmente recebe "vídeos caseiros de lembrança" de instalações que você pode compartilhar com seus netos na época do Natal ...

E, quando a sessão de instalação terminar, você pode optar por simplesmente desinstalar o arquivo em /etc/sudoers.d, se preferir.

Devo acrescentar que este método não tem NENHUM dos problemas que o tee teve ao registrar a saída de comandos dentro dos contêineres do LXC como "lxc-attach" etc. - é claro que não.

Aproveite!

if [ ! -d "$DistDir"/installs/logs ]
then
    sudo mkdir -p "$DistDir"/installs/logs
fi

if [ -f "$DistDir"/installs/logs/$USER.log ]
then
    sudo mv "$DistDir"/installs/logs/$USER.log "$DistDir"/installs/logs/$USER.log.$LOGEXT
fi

if [ ! -d /var/log/sudo-io ]
then
    sudo mkdir -m 750 /var/log/sudo-io
fi

if [ ! -f /etc/sudoers.d/orabuntu-lxc ]
then
    sudo sh -c "echo 'Defaults      logfile=\"/home/$USER/Downloads/orabuntu-lxc-master/installs/logs/$USER.log\"'  >> /etc/sudoers.d/orabuntu-lxc"
    sudo sh -c "echo 'Defaults      log_input,log_output'                               >> /etc/sudoers.d/orabuntu-lxc"
    sudo sh -c "echo 'Defaults      iolog_dir=/var/log/sudo-io/%{user}'                     >> /etc/sudoers.d/orabuntu-lxc"
    sudo chmod 0440 /etc/sudoers.d/orabuntu-lxc
fi
    
por 26.02.2018 / 05:44