Я хочу запустить mysql с аргументом команды "--log = log_file_name"
Как правильно это сделать при запуске с /etc/init.d?
Было бы так? /etc/init.d/mysql start --log = имя_файла_журнала
Чтобы упростить задачу, вы можете создать еще одну запись в init.d, чтобы запустить mysql с этим параметром пути logdir. Сделайте сценарий вроде /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
Таким образом, вы можете использовать разные сценарии для разных случаев.
Вы не можете передавать аргументы службам с помощью сценариев запуска. Причина: должен быть передан ТОЛЬКО ОДИН аргумент.
Этот аргумент состоит как минимум из ДВУХ вариантов:
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
Попытка настроить систему на передачу аргументов во время загрузки сделает вашу систему нестандартной и станет причиной последующих ошибок конфигурации.
Обычно этот тип настройки обрабатывается в сценарии init.d путем настройки переменных с помощью файла / etc / sysconfig /servicename
сценарии и использование '.' команда, чтобы в основном включить их в свою работу.
Другими словами, наиболее распространенный процесс - это в основном файлы конфигурации, которые считываются или используются базовым приложением в сценарии запуска init.d. Определенно, это НЕ делается путем добавления дополнительных аргументов к этому типу сценариев.