Como iniciar o / usr / bin / bitcoind no boot?

0

Estou tentando obter /usr/bin/bitcoind para iniciar na inicialização, mas sem sucesso.

Eu tenho este script em /etc/init/bitcoind.conf

description "bitcoind"

start on filesystem
stop on runlevel [!2345]
oom never
expect daemon
respawn
respawn limit 10 60 # 10 times in 60 seconds

script
user=andre
home=/home/$user
cmd=/usr/bin/bitcoind
pidfile=$home/.bitcoin/bitcoind.pid
# Don't change anything below here unless you know what you're doing
[[ -e $pidfile && ! -d "/proc/$(cat $pidfile)" ]] && rm $pidfile
[[ -e $pidfile && "$(cat /proc/$(cat $pidfile)/cmdline)" != $cmd* ]] && rm $pidfile
exec start-stop-daemon --start -c $user --chdir $home --pidfile $pidfile --starta $cmd -b -m
end script

Depois de criar este script, eu executei o comando: sudo initctl reload-configuration

Quando eu reinicio o Ubuntu, o "bitcoind" não é iniciado. Eu só consigo iniciar o "bitcoind" executando manualmente o comando:

sudo start bitcoind

Alguma pista sobre como iniciar o "bitcoind" no boot?

    
por André 12.11.2013 / 11:35

2 respostas

1

Então, finalmente consegui que as coisas funcionassem em um servidor Ubuntu 14.04. Aqui está como funciona a% final/etc/init/bitcoind.conf de trabalho:

description "bitcoind"

start on filesystem
stop on runlevel [!2345]
oom score -500
expect fork
respawn
respawn limit 10 60 # 10 times in 60 seconds

script
    user=bitcoind
    home=/home/$user
    cmd=$home/bin/bitcoind
    pidfile=$home/bitcoind.pid
    # Don't change anything below here unless you know what you're doing
    [[ -e $pidfile && ! -d "/proc/$(cat $pidfile)" ]] && rm $pidfile
    [[ -e $pidfile && "$(cat /proc/$(cat $pidfile)/cmdline)" != $cmd* ]] && rm $pidfile
    exec start-stop-daemon --start -c $user --chdir $home --pidfile $pidfile -m --startas $cmd
end script

Foi basicamente apenas um monte de chute e checar o trabalho para fazer isso funcionar. Aqui está a parte importante:

expect fork

Essencialmente, isso está dizendo quantas vezes o processo alvo será bifurcado ao iniciar. Se você disser errado, ele vai ficar pendurado ao iniciar. Leia aqui para os detalhes sobre isso.

Uma outra pequena alteração:

oom score -500

Em vez de:

oom never

Não é uma mudança tão importante, mas depois de ler um pouco sobre o upstart e de ver uma sugestão em uma resposta do stackoverflow, oom never quase nunca deve ser usado. Veja aqui para mais informações.

    
por c.hill 08.09.2014 / 21:30
0

Foi o que eu fiz.

Verifique o arquivo /etc/rc.local com cat /etc/rc.local

Você verá algo assim

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

Em seguida, basta adicionar esta linha

bitcoind -daemon     

Você pode executar o bitcoind com as opções -datadir = / path / to / data ou -conf = / path / to / bitcoin.conf se for necessário.

    
por miguelmorales85 17.08.2015 / 01:58