RHEL6 Не удается запустить мой скрипт при завершении работы и перезагрузке

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

  1. Я создал скрипт baseRhel64 и сохранил его в /etc/rc.d/init.d
  2. Я сделал chkconfig --add baseRhel64
  3. Я включил в скрипт

     #chkconfig --list # chkconfig: 06 10 10 
  4. Я проверил, что скрипт S10, созданный в /etc/rc0.d/S10baseRhel64 и /etc/rc6.d/S10baseRhel64

Ниже приведен мой сценарий:

 #!/bin/sh #chkconfig --list # chkconfig: 06 10 10 start(){ echo "`basename $0` start" touch /root/installscripts/test1 } stop(){ echo "`basename $0` stop" touch /root/installscripts/test2 touch /root/installscripts/"`basename $0`" } case "$1" in start) start;; stop) stop;; *) echo $"Usage: $0 {start|stop}" RETCAL=1 esac exit 0 

3 Solutions collect form web for “RHEL6 Не удается запустить мой скрипт при завершении работы и перезагрузке”

Если вы проверите то, что находится в /etc/rc0.d и /etc/rc6.d , вы увидите, что перед тем, как перейти к вашей службе, система сначала запустит killall (приоритет 00), а затем halt (приоритет 01).

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

 lrwxrwxrwx 1 root root 17 Sep 28 2012 S00killall -> ../init.d/killall lrwxrwxrwx 1 root root 14 Sep 28 2012 S01halt -> ../init.d/halt lrwxrwxrwx 1 root root 14 Jul 8 21:16 S10test -> ../init.d/test 

Что бы я сделал, если бы я был вами, это включить скрипт на уровне запуска, который вы обычно используете, скажем, 345 а затем поменять начало с остановкой, поскольку все демоны chkconfig: ed, которые будут запущены в вашем текущем уровне выполнения, будут вызываться при остановке и перезагрузка с помощью stop arg, прежде чем она доберется до сервисов, которые она должна начать .

Если вы хотите, чтобы ваш скрипт был запущен в последний раз, прежде чем убить все, а затем остановите свой компьютер, проверьте, что является самым высоким (мои K92iptables , поэтому для меня это будет> 92 для остановки приоритета).

Итак, chkconfig --del baseRhel64 , затем chkconfig --del baseRhel64 скрипт так, чтобы строка chkconfig --del baseRhel64 # chkconfig: 345 10 93

Тогда ваш скрипт будет выглядеть примерно так: имена функций запуска и остановки заменены:

 #!/bin/sh #chkconfig --list # chkconfig: 345 10 93 stop(){ echo "`basename $0` stop" touch /root/installscripts/test1 } start(){ echo "`basename $0` start" touch /root/installscripts/test2 touch /root/installscripts/"`basename $0`" } case "$1" in start) start;; stop) stop;; *);; echo $"Usage: $0 {start|stop}" RETCAL=1 esac exit 0 

Когда вы настраиваете собственный сценарий инициализации в RH EL 6, названный, например, «имя_сервера», вам необходимо создать на этапе запуска файл блокировки / var / lock / subsys / service_name, иначе сценарий не будет выполнен во время выключение системы (init 0 или init 6). В то же время вы должны установить «rm -f» файла блокировки во время фазы останова.

У меня есть прекрасное решение для вас a) Сценарий, подобный этому

 #!/bin/sh # # localshutdown # # chkconfig: 06 01 25 # description: localshutdown script # ### BEGIN INIT INFO # Provides: # Required-Start: # Required-Stop: # Should-Start: # Should-Stop: # Default-Start: 0 6 # Default-Stop: # Short-Description: # Description: ### END INIT INFO # Source function library. start() { echo "Your commands here" touch /root/funziona #use it for a test } stop() { echo "nothing" >/dev/null 2>&1 } restart() { stop start } case "$1" in start) start $1 ;; stop) stop $1 ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|restart}" exit 2 esac exit $? 

затем

 chkconfig --add /etc/init.d/yourscript.sh 

тогда

 chkconfig --level 06 yourscript.sh on chkconfig --level 12345 yourscript.sh off 

Протестировано и работает

  • Выключение компьютера из Openbox
  • Как перезапустить контейнер systemd-nspawn после того, как гость выдает команду перезагрузки?
  • Как предотвратить выключение при входе пользователя SSH?
  • Как кнопка питания отключает компьютер без разрешения root?
  • Можете ли вы заставить систему Linux остановить и загрузите мою малину в определенное время?
  • debian dead при копировании более 1 ГБ
  • Размонтирована ли корневая файловая система во время выключения Linux?
  • Как запланировать разрыв между выключением и воссозданием хоста AIX 6.1?
  • Gentoo portage продолжается после выключения
  • Отключение, когда оно не используется в течение определенного времени
  • Как запустить скрипт перед остановкой, используя заголовки LSB на Raspbian
  • Каковы команды выхода из системы и завершения работы с диспетчером сеансов?
  • Interesting Posts

    KDE становится медленным

    аутентификация открытого ключа не проходит, почему?

    Linux: удалить файл * .. но не file1 и file2

    Возможные проблемы при перемещении Linux-дисков с одного оборудования на другое

    Недопустимый многоадресный интерфейс

    Ноутбук Dual Boot – адаптер Wi-Fi не распознан / не найден

    Невидимые биты в сообщениях об ошибках node-gyp, запущенных под консолью под управлением VMware

    Извлеките строки с конкретными датами и выполните команду для каждого из них

    Причина для rc <boot_facility> с именем символических ссылок в OpenSUSE

    ip link и значение ip addr output

    Является ли хорошей практикой сделать файл блокировки init скрипта неизменным?

    Нужна помощь в моем скрипте для замены команды

    Несоответствие конфигурации звуковой карты между pi и root

    Сценарий оболочки для преобразования PDF в изображения и сохранения в подпапке

    В чем разница между ~ / .profile, ~ / .bashrc, ~ / .bash_profile, ~ / .gnomerc, / etc / bash_bashrc, / etc / screenrc …?

    Linux и Unix - лучшая ОС в мире.