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

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

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

这个故事类似于这个。我最终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.

换句话说,这是一个全局选项,而不是每个作业选项。

相关内容