Sickbeard e Sabnzbdplus não começam na inicialização

1

Parece que tenho alguns problemas com a automação de alguns serviços na inicialização. Eu já tive esse problema antes, mas não consegui descobrir a razão exata do que causou isso.

Eu adicionei os dois serviços à inicialização com:

$ sudo update-rc.d sickbeard defaults

Então:

$ sudo service sickbeard status
 * sickbeard is not running

$ sudo service sabnzbdplus status
 * SABnzbd+ binary newsgrabber: not running

$ service --status-all 
 [ + ]  acpid
 [ - ]  rsync
 [ + ]  rsyslog
 [ - ]  sabnzbdplus
 [ + ]  saned
 [ ? ]  sendsigs
 [ - ]  sickbeard

(lista é truncada) Captura de tela do jobs-admin:

Como você pode ver, o aplicativo não está iniciando na inicialização ... O que pode estar causando isso?

    
por mainstream 23.09.2014 / 12:03

2 respostas

1

Ok, achei o problema causando isso. Talvez outras pessoas encontrem o mesmo problema.

Meu disco é criptografado e, portanto, só é legível quando conectado. Todas as configurações do programa estão em / home / username, portanto, ilegíveis. Isso faz com que os serviços funcionem mal.

Uma correção que escrevi:

#!/bin/bash -vx
DIR=/home/mainstream/.sabnzbd

sleep 10

function checkdir() {
if [ ! -d "$DIR" ];
then
   echo "File $DIR doesn't exist yet"
   sleep 5 && checkdir #loop to check if directory is ready
else
   echo "Directory $DIR exists"
   /etc/init.d/sabnzbdplus start && /etc/init.d/sickbeard start  && /etc/init.d/autosub start && /etc/init.d/couchpotatov2 start
fi
}

checkdir

Verifica se as pastas existem (a cada 5 segundos) e inicia os serviços de acordo. Adicione-o (por exemplo, a rc.local). Exemplo rc.local:

#!/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.
sleep 10
exec 2> /tmp/rc.local.log  # send stderr from rc.local to a log file
exec 1>&2                      # send stdout to the same log file
set -x                         # tell sh to display commands before execution
#/home/mainstream/.startup.sh
/opt/startup.sh

exit 0

Saída de script:

checkdir
+ checkdir
+ '[' '!' -d /home/mainstream/.sabnzbd ']'
+ echo 'File /home/mainstream/.sabnzbd doesn'\''t exist yet'
File /home/mainstream/.sabnzbd doesn't exist yet
+ sleep 5
+ checkdir
+ '[' '!' -d /home/mainstream/.sabnzbd ']'
+ echo 'File /home/mainstream/.sabnzbd doesn'\''t exist yet'
File /home/mainstream/.sabnzbd doesn't exist yet
+ sleep 5
+ checkdir
+ '[' '!' -d /home/mainstream/.sabnzbd ']'
+ echo 'File /home/mainstream/.sabnzbd doesn'\''t exist yet'
File /home/mainstream/.sabnzbd doesn't exist yet
+ sleep 5
+ checkdir
+ '[' '!' -d /home/mainstream/.sabnzbd ']'
+ echo 'Directory /home/mainstream/.sabnzbd exists'
Directory /home/mainstream/.sabnzbd exists
+ /etc/init.d/sabnzbdplus start
 * Starting SABnzbd+ binary newsgrabber
   ...done.
+ /etc/init.d/sickbeard start
 * Starting SickBeard
   ...done.
+ /etc/init.d/autosub start
Starting AutoSub
AutoSub: Initializing variables and loading config
AutoSub: Starting as a daemon
AutoSub: Initializing variables and loading config
AutoSub: Starting as a daemon
AutoSub: Initializing variables and loading config
AutoSub: Starting as a daemon
AutoSub: Disabling console output for daemon.
+ /etc/init.d/couchpotatov2 start
 * Starting CouchPotatoV2
   ...done.

+ exit 0
    
por mainstream 28.12.2014 / 10:57
3

Finalmente, descobrimos que sickbeard começa na inicialização, mas falha.

Em /var/log/boot.log , podemos ver esse erro:

Starting SickBeard
/usr/bin/python: can't open file 'SickBeard.py': [Errno 2] No such file or directory

e olhando para o script sickbeard init:

APP_PATH=${SB_HOME-/opt/sickbeard}

por algum motivo, não sabemos quando sickbeard start, /opt não está pronto.

Como solução alternativa, iniciar sickbeard mais tarde durante a sequência de inicialização parece corrigir o problema.

Para isso, dê uma olhada na pasta /etc/rcX.d e remova os arquivos Sxxsickbeard e Kxxsickbeard . Estes são links simbólicos para o script /etc/init.d/sickbeard .

Este script é executado durante a inicialização do sistema seguindo a ordem alfabética, portanto, usando update-rc.d é possível escolher 'quando' iniciar / parar o serviço, por exemplo:

   update-rc.d sickbeard start 99 2 3 4 5 . stop 01 0 1 6 .

Isso atribuirá S99 (o último possível) para start durante a inicialização do sistema e K01 (o primeiro possível) para stop durante o desligamento ou reinicialização.

Neste caso, olhando para o seu runlevel , sugiro esta configuração:

   update-rc.d sickbeard start 06 2 3 4 5 . stop 01 0 1 6 .
    
por Lety 25.09.2014 / 15:50