我有一个暴发户脚本,执行以下操作
start on runlevel [2345] stop on runlevel [06] respawn pre-start script exec >/dev/kmsg 2>&1 [email protected]:blabla/bli mkdir -p /var/log mkdir -p /var/www echo "Fetching app from $REPO" girror $REPO /var/www if [ -f /var/www/package.json ]; then echo "Installing npm modules" cd /var/www npm install fi end script post-stop script exec >/dev/kmsg 2>&1 echo "stopped" end script script exec >/dev/kmsg 2>&1 export NODE_ENV=production export port=80 echo "Starting app.js on port 80" cd /var/www node app.js end script
我以root身份运行脚本。 该应用程序的日志文件假设去/var/log/syslog和rsyslog,但他们不去那里。
我正在使用rsyslog将日志发送到远程服务器
运行dmesg | tail -f时,我会看到应用程序日志 dmesg | tail -f
使用内核3.5.0-46
这个脚本正在使用一个较旧的内核的另一台机器
任何人都知道为什么这里不起作用?
你可能想看看这个: http ://www.rsyslog.com/doc/droppriv.html即使rsyslog以root身份启动,它很有可能改变它在/etc/rsyslog.conf的用户。 您可能需要更改rsyslogconfiguration中的rsyslog权限。