2015-06-27 4 views
1

Я пытаюсь добавить redis к запуску моего CentOS vm, но chkconfig, кажется, не добавляет его. Я выполнил один и тот же процесс для нескольких других скриптов init, и они были добавлены просто отлично. Любая помощь, чтобы показать мне, что я делаю неправильно, было бы здорово. Я просмотрел страницы руководства и поисковый запрос Google, но каждая вещь добавляет значения заголовков, которые у меня уже есть. Я написал те же операторы case для сценария инициализации hornetq и сценариев симулятора smpp и просто изменил содержимое функций do_start и do_stop для выполнения своих заданий.chkconfig не добавляет скрипт инициализации redis

Я бегу следующую команду, чтобы добавить сценарий инициализации:

chkconfig --add /etc/init.d/redis 

Затем я проверяю список с:

chkconfig --list 

, что приводит к:

Note: This output shows SysV services only and does not include native 
    systemd services. SysV configuration data might be overridden by native 
    systemd configuration. 

    If you want to list systemd services use 'systemctl list-unit-files'. 
    To see services enabled on particular target use 
    'systemctl list-dependencies [target]'. 

hornetq   0:off 1:off 2:off 3:on 4:on 5:on 6:off 
netconsole  0:off 1:off 2:off 3:off 4:off 5:off 6:off 
network   0:off 1:off 2:on 3:on 4:on 5:on 6:off 
smppsim   0:off 1:off 2:off 3:on 4:on 5:on 6:off 

Сценарий Я написал следующее:

#!/bin/sh 
# 
# startup script for running redis as a service. 
# 
# chkconfig: 350 95 15 
# description: redis startup script 
do_start(){ 
    systemctl start redis.service 
} 
do_stop(){ 
    systemctl stop redis.service 
} 
do_status(){ 
    systemctl status redis.service 
} 
case "$1" in 
'start') 
    do_start 
    do_status 
    ;; 
'stop') 
    do_stop 
    do_status 
    ;; 
'status') 
    do_status 
    ;; 
'restart') 
    do_stop 
    do_start 
    ;; 
*) 
    echo "usage: $0 start|stop|status|restart" 
esac 

***** ****** EDIT

просто FYI работает "сервис Redis начать" работает просто отлично

ответ

3

Команда chkconfig --add [name] не chkconfig --add [path] так что вы хотите chkconfig --add redis.

Если вы говорите в системе systemd, вам не стоит даже беспокоиться о скрипте службы init.d, поскольку он вам не нужен.

«наследство» service команда была обновлена ​​для обработки, начиная Systemd услуги, как правило, так что вы, возможно, /, вероятно, даже не используя скрипт (и если вы так ваш сценарий просто направляет systemctl вам это не нужно, так как, как я уже сказал, команда service уже делает это за вас).

Чтобы эмулировать функцию запуска службы при загрузке, вы хотите использовать systemctl enable <service>.

+0

так что это точно не отвечало на вопрос, но это действительно указывало мне в правильном направлении, я верю. Я думаю, что я должен использовать systemctl enable redis.service – peekay

+0

Да, это приведет к запуску службы при загрузке в systemd. Мне было непонятно (хотя, возможно, и должно было быть), что это была конечная цель здесь. Сожалею. –

Смежные вопросы