我有一个新贵的服务,它填满了空间。我需要将日志从 /var/log/upstart 移动到不同的目录 /pub/data/logs/order_server。我试着用
console log --logdir /pub/data/logs/order_server
Run Code Online (Sandbox Code Playgroud)
但它给出了一个错误
start: Unknown job: order_server
Run Code Online (Sandbox Code Playgroud)
检查文件
$ init-checkconf /etc/init/order_server.conf
ERROR: failed to ask Upstart to check conf file
Run Code Online (Sandbox Code Playgroud)
故事与这个相似。我最终exec /path/to/my/daemon --arg1 --arg2 >/mnt/log/XYZ 2>&1按照某人的建议进行了黑客攻击。
以下是服务的conf文件
# 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
Run Code Online (Sandbox Code Playgroud)
现在日志文件位置更改为新位置,但很难轮换日志。日志文件被压缩,但不会创建新的日志文件。
新贵轮换看起来像这样
/var/log/upstart/*.log /pub/data/logs/order_server/order_server.log {
daily
missingok
rotate 3
compress
notifempty
nocreate
}
Run Code Online (Sandbox Code Playgroud)
我最初的意图是使用此处建议的控制台日志选项来修复它。我希望有人能帮帮忙。
食谱说--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.
Run Code Online (Sandbox Code Playgroud)
换句话说,这是一个全局选项,而不是每个作业的选项。