を持っています成り上がり者次のことを行うスクリプト
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
私はスクリプトをルートとして実行しています。アプリケーションのログ ファイルはそこに保存されるはずです/var/log/syslog
が、そこに保存されません。
しかし、実行中にアプリのログが表示されますdmesg | tail -f
カーネルの使用3.5.0-46
なぜ動作しないのか誰か知っていますか?
答え1
これはスクリプトが明示的にリダイレクトすべての出力はdmesgに出力されます:
exec >/dev/kmsg 2>&1