Escrevendo um simples script rc.d no FreeBSD

2

Eu gostaria de executar a pilha ELK em uma cadeia FreeBSD em um host FreeNAS. Eu tenho dificuldade em fazer um simples script init / rc.d funcionar.

#!/bin/sh
. /etc/rc.subr

name=logstash
rcvar=logstash_enable

load_rc_config $name

logstash_bin="/usr/local/bin/${name}/bin/${name}"
logstash_conf="/usr/local/etc/${name}/${name}.conf"
logstash_pid="/var/run/${name}.pid"

command="/usr/sbin/daemon"
command_args="-f -p ${logstash_pid} ${logstash_bin} -f ${logstash_conf} web"

run_rc_command "$1"

Eu posso executar o script e ele retornará o logstash agora iniciado, mas "ps" me conta outra história.

root@logstash:/var/log # service logstash start
Starting logstash.
root@logstash:/var/log # ps aux
USER   PID %CPU %MEM   VSZ  RSS TT  STAT STARTED    TIME COMMAND
root  2963  0.0  0.0 12076 1636 ??  SsJ   3:58PM 0:00.02 /usr/sbin/syslogd -s
root  3014  0.0  0.0 14176 1592 ??  SsJ   3:58PM 0:00.01 /usr/sbin/cron -s
root 57344  0.0  0.0 17564 3736  0  SJ    5:31PM 0:00.18 csh
root 61945  0.0  0.0 14220 1768  0  R+J   7:24PM 0:00.00 ps aux
root@logstash:/var/log #

Se eu imprimir o conteúdo de $command e $command_args out e inseri-lo manualmente, ele funcionará perfeitamente.

saída de "command=" echo / usr / sbin / daemon ":

/etc/rc.d/logstash: WARNING: cannot read shebang line from echo
/etc/rc.d/logstash: WARNING: run_rc_command: cannot run echo /usr/sbin/daemon

Alguma idéia do que estou fazendo errado?

    
por user2927980 04.10.2014 / 19:32

1 resposta

1

Tem certeza de que o logstash_bin está correto? "/ usr / local / bin / logstash / bin / logstash" parece suspeito.

Existe também um mecanismo de depuração do RC (por exemplo, "rc_debug = true /usr/local/etc/rc.d/logstash start"), mas não tenho certeza se irá ajudá-lo neste caso.

    
por 27.01.2015 / 19:54