在会话中运行lxc-attach命令时,Tee会在控制台上导致格式问题


0

我使用tee以通常的方式将安装脚本的输出捕获到文件中。一切都很好,除非在LXC Linux容器中执行lxc-attach命令。例如(右侧屏幕上显示的是附带的屏幕截图)是使用“lxc-attach -n container - yum -y install”命令的tee时的控制台输出,左侧屏幕上显示的是“tail -f log”开发日志。正如可以看到tee日志获得正确的格式,但是当使用tee时,通过lxc-attach执行的命令的控制台输出会获得额外的换行符或标签等。任何使用tee或tee等效的方式,以便tee日志和控制台日志格式正确吗? 看截图

Answers:


0

我需要捕获的所有记录的活动都是sudo命令。万一它可以帮助任何人,这里是我找到的替代解决方案 这里 这里 我现在正在使用(我自己根据我对sudo的日志记录工具的了解编写了下面的代码)。它非常易于使用,并提供高度详细的日志记录。这是一个令人惊讶的解决方案非常满意它与sudoreplay你实际上得到你安装的“纪念品家庭视频”你可以在圣诞节时与你的孙子分享...

并且,当安装会话结束时,您可以选择在/etc/sudoers.d中卸载该文件(如果您愿意)。

我应该补充一点,这个方法没有任何问题,当从LXC容器内部的命令记录输出时,例如“lxc-attach”等,这样就没有了 - 当然它不会。

请享用!

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.