我有一个upstart脚本如下:
#!upstart
description "example site services"
author "Peter"
start on startup
stop on shutdown
respawn
script
echo $$ > /var/run/website.pid
exec /etc/nginx/website 2>&1
end script
pre-start script
echo "[Fri Sep 11 02:04:39 UTC 2015] (sys) Starting" >> /var/log/website.sys.log
end script
pre-stop script
rm /var/run/website.pid
echo "[2015-09-11T02:04:39.444Z] (sys) Stopping" >> /var/log/website.sys.log
end script
这应该会自动启动Nginx
网站。
然而,在启动日志中,我得到了这个消息。
/bin/sh: 1: /bin/sh: cannot create /var/log/website.sys.log: Read-only file system
我已尝试更改此文件的权限。它目前是root root
,同时具有rw
权限。
-rw-rw-r-- 1 root root 1506 Sep 27 21:39 website.sys.log
我做错了什么?
尽管这个问题在这里可能与主题无关,但Read-only file system
意味着您在引导序列中太早地启动了该服务,此时根文件系统还没有(重新)挂载读写。你应该修改
start on startup
stop on shutdown
把改成更合适的,比如
start on local-filesystems
stop on <whatever>
我讨厌回答自己的问题,但我找到了一个适合我的解决方案。
不指定日志位置。
I have changed
echo "[Fri Sep 11 02:04:39 UTC 2015] (sys) Starting" >> /var/log/website.sys.log
echo "[Fri Sep 11 02:04:39 UTC 2015] (sys) Starting"