無法將日誌重新導向至 /var/log/syslog

無法將日誌重新導向至 /var/log/syslog

我有一個暴發戶執行以下操作的腳本

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,但他們沒有去那裡。

但是,我在運行時確實看到了應用程式日誌dmesg | tail -f

使用內核3.5.0-46

有誰知道為什麼它不起作用?

答案1

這是因為你的腳本明確地發生了重定向所有輸出到 dmesg:

exec >/dev/kmsg 2>&1

相關內容