对于正在启动的某些云计算机,我试图登录到特定文件,系统日志和终端/控制台。
在机器设置/ cloud-init脚本的顶部,我有以下内容:
#!/bin/bash
exec &> >(tee "/tmp/box-setup.log" | logger -t box-setup)
apt-get install -y some-package
这在将输出发送到文件和syslog时非常有用,但不会通过管道将输出发送到终端。
一般而言,除了从远程控制台进行调试之外,没有终端输出不是一个大问题。发生这种情况时,我完全是盲目的,因为执行bash脚本时控制台是空白的。
是否有一种简单的方法使用bash重定向或其他方法将所有输出(标准输出以及标准错误)同时传输到文件,syslog和终端?
我正在运行Ubuntu 16.04。
exec &> >(tee /tmp/box-setup.log >(logger -t box-setup))