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

时间:2015-09-27 23:02:18

标签: nginx ubuntu-14.04 file-permissions upstart

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

我做错了什么?

2 个答案:

答案 0 :(得分:1)

虽然这个问题可能在这里偏离主题,Read-only file system意味着你在启动序列中过早启动该服务,当根文件系统尚未(重新)挂载读写时。你应该改变

start on startup
stop on shutdown

更适合的事情,比如

start on local-filesystems
stop on <whatever>

答案 1 :(得分:0)

我讨厌回答我自己的问题,但找到了一个适合我的解决方案。

没有指定日志位置。

我已经改变了

git push origin HEAD:<name-of-remote-branch>

echo "[Fri Sep 11 02:04:39 UTC 2015] (sys) Starting" >> /var/log/website.sys.log