Sickbeard и Sabnzbdplus не запустятся при начальной загрузке

У меня, кажется, есть некоторые проблемы с автоматизацией некоторых сервисов при запуске. У меня была эта проблема прежде, но я не мог узнать точную причину, что вызвало это.

Я добавил оба сервиса для запущений с:

$ sudo update-rc.d sickbeard defaults

Затем:

$ 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

(список является усеченным), Снимок экрана от администратора заданий:

enter image description here Поскольку Вы видите, что приложение не запускается при начальной загрузке... Что могло бы вызывать это?

1
задан 9 October 2014 в 11:56

2 ответа

Хорошо, я обнаружил проблему, вызывающую это. Возможно, другие люди столкнутся с той же проблемой.

Мой диск зашифрован, поэтому его можно прочитать только после входа в систему. Все конфигурации программы находятся в / home / username, поэтому не читаются. Это приводит к сбоям в работе служб.

Исправление, которое я написал:

#!/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

Оно проверяет, существуют ли папки (каждые 5 секунд), и соответственно запускает службы. Добавьте его (например, в rc.local). Пример 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

Вывод сценария:

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
1
ответ дан 10 November 2019 в 08:43

Наконец мы обнаружили, что больная борода запускаются при загрузке, но не удается.

В /var/log/boot.log мы видим эту ошибку:

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

и просматривая сценарий инициализации sickbeard :

APP_PATH=${SB_HOME-/opt/sickbeard}

по какой-то причине мы не знаем, когда запускается sickbeard , / opt не готов.

В качестве временного решения запуск sickbeard позже во время загрузки последовательность, кажется, решает проблему.


Для этого взгляните на папку /etc/rcX.d и удалите файлы Sxxsickbeard и Kxxsickbeard . Это символические ссылки на сценарий /etc/init.d/sickbeard .

Этот сценарий выполняется во время загрузки системы в алфавитном порядке, поэтому с помощью update-rc.d он можно выбрать «когда» запуск / остановка службы, например:

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

Это назначит S99 (последний из возможных) для запуска во время загрузки системы и K01 ] (первое возможное) для остановить во время завершения работы или перезагрузки.

В этом случае, глядя на ваш уровень выполнения , я предлагаю следующую конфигурацию:

   update-rc.d sickbeard start 06 2 3 4 5 . stop 01 0 1 6 .
3
ответ дан 3 December 2019 в 07:05

Другие вопросы по тегам:

Похожие вопросы: