更改Upstart服务的日志目录/文件

我有一个新兴的服务,它填满了空间。我需要将日志从/var/log/upstart移动到另一个目录/pub/data/logs/order_server。我尝试使用...来完成这个任务。
console log --logdir /pub/data/logs/order_server
但是它报错了
start: Unknown job: order_server
检查文件
$ init-checkconf /etc/init/order_server.conf
ERROR: failed to ask Upstart to check conf file
这个故事与这个类似。最后我按照某人的建议,做了以下的hack:exec /path/to/my/daemon --arg1 --arg2 >/mnt/log/XYZ 2>&1。 以下是服务配置文件。
# Ubuntu upstart file at /etc/init/order_server.conf
description "order server dev version"



start on (local-filesystems and net-device-up)
stop on runlevel [06]

respawn
respawn limit 10 5

exec /pub/integration_prod/integration/order_server.sh >> /pub/data/logs/order_server/order_server.log 2>&1
现在日志文件的位置已经更改到新的位置,但是很难进行日志轮转。日志文件被压缩,但是没有创建新的日志文件。 启动时的轮转大致如下所示。
/var/log/upstart/*.log /pub/data/logs/order_server/order_server.log {
        daily
        missingok
        rotate 3
        compress
        notifempty
        nocreate
}
我的初衷是按照这里建议的方法,使用控制台日志选项来修复它。希望有人能帮忙。
1个回答

烹饪书上说--logdir是一个命令行选项,这意味着它不是放在upstart作业文件中的选项,而是放在Upstart本身的命令行中。您可以在init(8)手册页面中验证这一点,参见http://manpages.ubuntu.com/manpages/precise/man8/init.8.html
   --logdir directory
          Write   job   output   log  files  to  a  directory  other  than
          /var/log/upstart.
换句话说,这是一个全局选项,而不是每个作业的选项。