Выполнение произвольного скрипта при выключении/перезагрузке системы
Всем доброго времени суток!
Возник такой вопрос: можно ли при выключении/перезагрузке выполнить ПРОИЗВОЛЬНЫЙ скрипт, или обязательно писать в формате start/stop-скриптов?
Ситуация такая: у меня ноутбук по вайфаю подключается к домашней сети. Иногда я хочу что-нибудь взять с сервера-файлопомойки в этой сети, для чего монтирую с помощью cifs нужный раздел сервера. При выключении же, если этот раздел подмонтирован, система останавливается на этапе Unmounting filesystems и думает несколько минут. Вероятно, это происходит потому, что сначала отключается wifi, а уже потом происходит размонтирование файловых систем. Так вот: я бы хотел, чтобы происходило наоборот, для чего написал простейший недоскрипт в одну строчку:
#! /bin/bash umount /mnt/homeserver
Как заставить этот скрипт срабатывать при выключении? Точнее, ПЕРЕД выключением и перезагрузкой, до выполнения всех stop-скриптов.
И ещё: не может ли кто-нибудь чуть подробнее, чем в манах, объяснить, в какой момент происходит срабатывание того, что должно происходить при выключении? Хотя системные уровни запуска "reboot" и "shutdown" существуют, в них нет ни одного скрипта. Так как же это работает? Я так понял, что запускается то, что в стартовых скриптах в разделе stop находится. Но какой командой это делается?
Вообще, если бы были обычные rc0-6, я бы просто добавил свой "скрипт" в уровни 0 и 6 и горя бы не знал.. А тут-то что делать? :)
Звиняйте, если что - в Генту пока новичок, всего неделю как, и то всю эту неделю устанавливаю/настраиваю свою первую Генту-систему :)
- Для комментирования войдите или зарегистрируйтесь
Возможно, это как-то
Возможно, это как-то соответствует вашему запросу:
Я ♥ Gentoo & Funtoo
local.stop
Спасибо! :)
Но есть пара уточняющих вопросов.
У меня в conf.d лежат два скрипта: local.start и local.stop
1-й вопрос: мне в этот скрипт просто добавить строчку "umount ...."? Но в этом случае скрипт получится таким, каким я его и написал уже..
2-й вопрос: что сделать со скриптом, чтобы он заработал? conf.d - это ведь всего лишь хранилище образцов, так сказатЬ, а сами скрипты надо добавлять куда-то, верно?
Собссно, все эти вопросы происходят из-за недопонимания общего механизма работы с уровнями, что видно из моего предыдущего поста :)
,
1. Да, просто написать "umount..".
2. Ничего делать не надо. Будет работать,как только впишешь туда чтото.
Смотрите
Смотрите /etc/init.d/local
Возможно, а, точнее, скорее всего, он у вас уже в загрузке.
Проверить (не совсем корректный способ, но сработает, и чтобы меньше вам вопросов задавать :))
Если ничего не покажет, добавить
Я ♥ Gentoo & Funtoo
не init.d, а conf.d :)
Мне предложили смотреть в директории conf.d, а не init.d ;) Поэтому я и засомневался. Теперь понял:)
Зато теперь вы знаете, что в
Зато теперь вы знаете, что в /etc/init.d находятся скрипты запуска сервисов, а в /etc/conf.d их конфигурационные файлы :)
Я ♥ Gentoo & Funtoo