【发布时间】:2023-03-21 17:40:01
【问题描述】:
我有一些新贵启动的应用程序记录了很多内容...我希望能够选择将新贵日志保存在哪个目录中。默认为/var/log/upstart。
在upstart docs,他们说我应该给暴发户一个命令行选项--logdir。
但是,据我所知,upstart 是由操作系统作为守护进程启动的,所以你怎么能给它提供命令行参数呢?
【问题讨论】:
我有一些新贵启动的应用程序记录了很多内容...我希望能够选择将新贵日志保存在哪个目录中。默认为/var/log/upstart。
在upstart docs,他们说我应该给暴发户一个命令行选项--logdir。
但是,据我所知,upstart 是由操作系统作为守护进程启动的,所以你怎么能给它提供命令行参数呢?
【问题讨论】:
upstart 进程由内核在系统启动时执行。您可以使用内核命令行参数配置内核使用的命令。它应该是这样的:
init=/sbin/init --logdir=/path/to/logfiles
虽然您可以配置 grub 以将该命令行选项传递给内核,但您也可以为此使用一个简单的包装脚本。
将原始的 init 二进制文件复制到备份中:
sudo cp /sbin/init{,.orig}
然后创建包装脚本:
/sbin/init:
#!/bin/bash
# Pass modified logdir option
init.orig $@ --logdir=/path/to/logfiles
并使其可执行:
sudo chmod +x /sbin/init
【讨论】: