由于日志文件创建失败,Ubuntu 新贵无法启动程序



我有一个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"

最新更新