Не совсем рабочий код Init.d

Отфильтрованные данные из прямой трансляции MQTT выводятся в названный файл CSV mqtt.csv и процесс дампа сделан executor_start_up_job.txt то, которое записано в Bash (имеет хижину).

Я хочу сделать дамп демона фильтра, т.е. в фоновом режиме, и также хотеть сделать его в том, так, чтобы каждый раз система была перезагружена, это сделано автоматически. Таким образом, я завершил для записи init.d сценария, и содержание моего кода:

#!/bin/bash
set -x

requested_command=$1

start() {

        /home/ed/start_up_job/executor_start_up_job.txt &
}
# Restart the Dump
stop() {

        killproc executor_start_up_job.txt
        echo
}
### main logic ###
case $requested_command in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        last_line=`cat mqtt.csv | tail -1`
        echo "last print line: $last_line"
        ;;
  restart)
        stop
        start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac
exit 0

После того как я вставил set -x Я получаю следующий вывод:

+ ./MySQL_table_update_daemon.sh start
+ requested_command=start
+ start
+ exit 0

Q: Если я могу сделать этот код для работы, то я помещу его в /etc/init.d/ каталог, так, чтобы это могло работать каждый раз. Однако в настоящее время это не работает и вывод без set -x ничего т.е. это - как будто я только что продвинул, входят в терминал.

0
задан 9 March 2015 в 06:29

1 ответ

Необходимо удалить exit 0 в конце сценария, иначе он выйдет каждый раз, он выполняется.

можно проверить cat /etc/init.d/skeleton для exemple работы init.d сценарий. (Вероятно, излишество для того, что Вы хотите сделать, но оно может помочь с несколькими вещами).

0
ответ дан 3 August 2019 в 13:28

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

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