почему мой скрипт в /etc/init.d с символьной ссылкой K в rc0.d и rc6.d и символической ссылкой S в rc5.d не работает при завершении работы? - PullRequest
1 голос
/ 25 мая 2019

Я пишу скрипт, который хочу запускать перед каждым отключением моей системы Ubuntu. Я поместил свой скрипт с именем myscript в папку /etc/init.d, а затем создал символические ссылки в rc0.d и rc6.d как K01myscript и S01myscript в rc5.d. Но проблема в том, что скрипт вообще не работает.

Мой скрипт @paxdiablo -

#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LOGPATH=/home/user/Documents
lockfile=/var/lock/subsys/decomission
now=$(date +'%T')

start() {
    touch $lockfile
    echo "[$now] System startup" >> $LOGPATH/test.log
}

stop() {
    echo "[$now] System shutdown" >> $LOGPATH/test.log
    rm -f $lockfile
}

status() {
    echo "[$now] Hi, you're checking status" >> $LOGPATH/test.log
}

case "$1" in
  start)
      start
      ;;
  stop)
      stop
      ;;
  restart)
      $0 stop
      $0 start
      ;;
  status)
      status
      ;;
  *)
      ## If no parameters are given, print which are avaiable.
      echo "Usage: $0 {start|stop|status}"
      exit 1
      ;;
esac

1 Ответ

0 голосов
/ 25 мая 2019

В начале скрипта вы должны установить PATH, например:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
...