2015-09-27 8 views
0

У меня есть сценарий выскочки, как показано ниже.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 

Что я делаю неправильно?

ответ

0

Ненавижу отвечать на свой вопрос, но нашел решение, которое сработало для меня.

Это не должно указывать местоположение журнала.

Я изменил

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" 
1

Хотя этот вопрос, вероятно, не по теме здесь, Read-only file system означает, что вы начинаете эту услугу слишком рано в процессе загрузки, когда корневая файловая система еще не было (повторно) смонтировано чтение-запись. Вы, вероятно, следует изменить

start on startup 
stop on shutdown 

к чему-то более подходящее, как

start on local-filesystems 
stop on <whatever> 
+0

Спасибо, я передам ваше решение идти. –