将parameter passing给以Init.d开头的服务

我想用命令参数“–log = log_file_name”来启动mysql

用/etc/init.d启动它的正确方法是什么?

会是这样吗? /etc/init.d/mysql start –log = log_file_name

为了简单起见,可以在init.d中创build另一个条目,以使用该logdirpath选项启动mysql。 制作一个像/etc/init.d/mysql-log这样的脚本,并在其中添加以下条目:

  #!/bin/sh -e set -e COMMAND=$1 LOG="--log=/tmp/mysql.log" case $COMMAND in start) /etc/init.d/mysql $COMMAND $LOG ;; stop) /etc/init.d/mysql $COMMAND ;; restart) /etc/init.d/mysql stop /etc/init.d/mysql start $LOG ;; *) exit 1 esac 

根据需要设置上述脚本中的日志文件位置,并使用以下命令启动mysql:

 /etc/init.d/mysql-log start 

这样你可以为不同的场合使用不同的脚本。

启动脚本不能将parameter passing给服务。 原因:应该只有一个参数被传递。

这个论点最less只有两个select:

  start -- tells the scripting that it is being started from system startup. stop -- tells the scripting that it is being STOPPED due to shutdown request 

尝试configuration系统以在引导时传递参数将使您的系统不标准,并导致以后的configuration错误。

通常,这种调整是在init.d脚本中通过使用/ etc / sysconfig / servicename脚本并使用'。'来设置variables来处理的。 命令基本上包括在他们的操作。

换句话说,最常见的过程是基本上configurationinit.d启动脚本中的底层应用程序读入或使用的文件。 当然,这不是通过向这种脚本添加更多的参数来完成的。