Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: скрипт при выключении-перезагрузке  (Прочитано 906 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bourger

  • Автор темы
  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Ну, и новая незадача.
Нужно, чтобы при выключении и перезагрузке выполнялся скрипт.
Делаю так:
1. Пишу скрипт. Примерно такой: #!/bin/sh
sendmail mail@mail.ru < file && rm file
или даже такой#!/bin/sh
case "$1" in
 start)
 sendmail mail@mail.ru < file && rm file
 ;;esac
2. Кладу его в /etc/init.d
3. делаю ему chmod +x4. Пущаю update-rc.d my_script start 15 0 6 . Проверяю /etc/rc0.d и /etc/rc6.d, там все хорошо и правильно создается.
5. ... (выключаю-перезагружаю)
6. !!! Ни фига не работает.
Если просто запустить скрипт - отрабатывает как надо. Но при выключении - тишина.
Где рыть? Подозреваю, что в самом скрипте надо правильно указать вызов sendmail. Полный путь давал, эффекта никакого.
« Последнее редактирование: 18 Августа 2013, 15:08:11 от bourger »

Оффлайн Windenys

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: скрипт при выключении-перезагрузке
« Ответ #1 : 20 Августа 2013, 21:14:58 »
Набираем в терминале:

sudo gedit /etc/rc.local
и перед строкой exit 0 добавляем следующую строку:

sh /path/script.sh
где path это путь к скрипту, а script.sh имя скрипта.
| Hewlett-Packard m6 | Intel/ATI | Ubuntu 13.04 |

Оффлайн andwer07

  • Участник
  • *
  • Сообщений: 233
    • Просмотр профиля
Re: скрипт при выключении-перезагрузке
« Ответ #2 : 20 Августа 2013, 21:51:41 »
Windenys,
так rc.local же наоборот выполняется при загрузке, а не перезагрузке.
bourger,
а может быть, скрипт запускается, но sendmail не может отработать, потому что выполняется уже после отключения сетевых интерфейсов? Попробуй в скрипте написать что-нибудь типа echo "it works" >> /var/log/test.log да и вывод самого sendmail перенаправь туда же, и после ребута посмотри, появится ли что в /var/log/test.log.
А второй приведённый вами пример скрипта, я так понимаю, будет работать только при загрузке, ибо там только обработка start.

Оффлайн bourger

  • Автор темы
  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: скрипт при выключении-перезагрузке
« Ответ #3 : 21 Августа 2013, 04:01:54 »
andwer07, спасибо, добавил в скрипте к команде sendmail параметр 2> var/log/test.log и увидел, что для рута в системе нет конфига msmtp. Сделал конфиг, и все заработало  :D

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.