Скрипт запуска bash не запускается при запуске Linux - PullRequest
0 голосов
/ 21 сентября 2018

Я создал этот сценарий, работающий как сторожевой таймер для изменений файла - если файл какое-то время не изменяется, это означает, что контролируемый процесс нарушается и компьютер (NI CompactRIO) должен быть перезапущен.

Файл находится в /etc/init.d, я использовал следующие команды:

chmod +x /etc/init.d/reboot_after_fail.sh
chmod 777 /etc/init.d/reboot_after_fail.sh
/usr/sbin/update-rc.d -f reboot_after_fail.sh defaults 99 0

все выглядит хорошо, но при запуске ничего не происходит (ps -ef|grep reboot).Скрипт для обновления системного времени NTP монтируется так же и работает.Тот же скрипт запускается напрямую или с nohup /etc/init.d/reboot_after_fail.sh & работает отлично.Есть идеи?Код скрипта следующий:

#!/bin/sh

#change values
timestamp_file="/c/settings/timestamp.dat"
init_sleep_time=120
sleep_time=300 #in seconds

#do not change values
timestamp_value_first=0
timestamp_value_second=0


sleep $init_sleep_time

timestamp_value_first=$(<"$timestamp_file")

while true
do
  sleep $sleep_time

  timestamp_value_second=$(<"$timestamp_file")

  if [[ $timestamp_value_second -eq "0"  ||  $timestamp_value_second -eq "" ]]
  then
    :
  elif [ $timestamp_value_first -eq $timestamp_value_second ]
  then
    #exec reboot;reboot
    echo "reboot"
  else
    timestamp_value_first=$timestamp_value_second
  fi
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...