1 (24.08.2012 16:41:52 отредактировано DarkDigger)

Мне нужно что бы при загрузке/перезагрузки и выключении (штатном) сервера выполнялись мои скрипты (bash) скажите в какие файлы нужно прописать пути к скриптам?
При загрузке можно прописать в /etc/rc.d/rc.local
а в других случаях?
ЗЫ скрипт прописанный в /etc/rc.d/rc.local юудет выполнятся от root ?

2

DarkDigger пишет:

При загрузке можно прописать в /etc/rc.d/rc.local
а в других случаях?

в любом линуксе имеются уровни загрузки, которые прописаны в /etc/inittab. Выключение и перезагрузка имеют свой уровень. Также есть команды управления этими уровнями. Инит скрипты лежат в RH в /etc/init.d/, а вот как они включаются на нужный уровень я не помню. Гугл поможет.

DarkDigger пишет:

ЗЫ скрипт прописанный в /etc/rc.d/rc.local юудет выполнятся от root ?

да.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

В общем можно свой скрипт запихать в любой файл в соответствии с очерёдностью запуска в файлы /etc/rc.d/rcX.d/

4

DarkDigger пишет:

В общем можно свой скрипт запихать в любой файл в соответствии с очерёдностью запуска в файлы /etc/rc.d/rcX.d/

в Slackware Linux можно. Но не нужно.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

Я просто сделала файлы вида Sxxscript в каталоге /etc/rc.d/rc3.d/ ,где хх-номер который мне нужно в очереди запуска, а rc3.d номер инициализации) Кста файлы начинающиеся на K не запускаются )

6

DarkDigger пишет:

Кста файлы начинающиеся на K не запускаются )

Так они же вроде бы и должны запускаться только при выключении для остановки (Kill) запущенных сервисов?

Был, был и весь вышел...

7

Да не, на сколько я понял, то при переходе на определённый номер инициализации, выполняются скрипты сначала Kxx (типо убивают всё не нужное), а потом Sxx, запускают то что нужно. Я подумал, какая хрен разница, пусть система будет считать что мой скрипт кого-то там грохнет (начинается на Kxx), а он вообще его не запустил, зато если начинается на Sxx то всё хорошо)
Идея была в том что при выключении запустить скипт после того как грохнется один демон) тоесть если K90demon, создать файл K91script, но не судьба)
И ещё , всё файлы типа Sxx и Kxx это символические ссылки на ../init.d/*** Вот так...
Только разобрался с initd, как она устарела и придумали systmd, которую без пол литра не разберёшь)

8

Lupo Alberto пишет:
DarkDigger пишет:

Кста файлы начинающиеся на K не запускаются )

Так они же вроде бы и должны запускаться только при выключении для остановки (Kill) запущенных сервисов?

и соответственно начинающиеся на S имеют обратный эффект

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

9 (27.08.2012 11:25:12 отредактировано moshell)

DarkDigger пишет:

Только разобрался с initd, как она устарела и придумали systmd, которую без пол литра не разберёшь)

по моему НьюЗенон как то воевал с systmd. поищите его тему

add// Systemd init, взялся потихоньку, советы

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

10

Не давно узнал что и в Федоре системд. Значить и в Центос скоро внедрят системд.

11

в двух словах кто нибудь объяснит разницу между сиими сиёвинами?
выигрыш в скорости или что?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

12

moshell пишет:

в двух словах кто нибудь объяснит разницу между сиими сиёвинами?
выигрыш в скорости или что?

прежде всего там очень много политики. Так как всё, что можно сделать в Systemd, можно с не меньшим успехом реализовать и традиционными методами. В качестве рекламы Systemd подается сравнение стартового скрипта из /etc/init.d с *.service файлом. Мол как просто и удобно написать пару строчек в service, и какой против этого нужен код в init.d. Мне не кажется это сравнение корректным, так как стартовый код (скрипт) для запуска того или иного сервиса  через systemd написать все равно придется.  И далеко не всегда он будет проще традиционного.

Например, мне потребовалось реализовать антивирусный монитор на юзерскую папку ~/Загрузки. Я беру inotifywait, clamd + clamdscan и заворачиваю все это дело в не самый сложный скрипт, поддерживающий загрузку этого "сервиса", его остановку и так далее. И если мне раньше было достаточно поместить его в /etc/init.d и создать в соответствующем /etc/rcX.d ссылку с именем S99xxxx на этот скрипт, то теперь я вынужден создавать service-файл с описанием моего сервиса, затем создавать ссылку в каталогах systemd на этот сервисный файл. И сегодня я имел граблю - написанный мною скрипт запускался раньше, чем монтировался диск с каталогами, которые он должен контролировать. Если в инит.д я долго не думая кидал свои скрипты на 99-ю очередь, то в System.d надо четко прописать, после какой службы можно запустить твой скрипт. И что делать, если ты её названия не знаешь? В результате - модифицируешь свой скрипт, чтобы он дождался в mtab появления нужного диска.

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

Да, в итоге   скорость загрузки оси несколько повышается, так как systemd позволяет грузить несколько сервисов одновременно, как только условия для их загрузки "созреют". Но так ли нам нужен этот выигрыш? Если мы имеем сервер, то для него загрузка - разовая операция, а потом они крутятся очень долго. Ловить там секунды на загрузке? Зачем? При том, что у меня, например, при загрузке оси идет принудительный fsck. На терабайтные тома. Мне это ускорение не слишком актуально. Для домашнего компьютера? Так там операция загрузки оси не есть актуальная, есть режимы ожидания и гибернации. Что всяко быстрее загрузки оси с нуля.

По мне - это больше политическое решение, чем техническая необходимость.

13

moshell пишет:

в двух словах кто нибудь объяснит разницу между сиими сиёвинами?
выигрыш в скорости или что?

http://wiki.linuxformat.ru/index.php/LX … о_за_штука

Был, был и весь вышел...

14

Lupo Alberto пишет:

http://wiki.linuxformat.ru/index.php/LX … о_за_штука

очень познавательно...

Каковы же главные достоинства SystemD?

    Во-первых, разработчики намерены свести к минимуму использование оболочки, а сценарии sysvinit исполнять параллельно, для повышения быстродействия. Во-вторых, в SystemD не используются правила и события для руководства выполнением процессов, служб и модулей.

а теперь я расскажу, как это реализовано в Slackware Linux:
Да, там _последовательно_ запускаются init-скрипты. НО! Многие службы, которые необходимы для загрузки системы, там запускаются параллельно! Т.е. система запускает скажем mysqld, но совершенно наплевательски относится к тому, запустился этот демон, или нет. И для системы это действительно не важно. Сколько это демон будет грузится - тоже никого не волнует. В итоге, демоны запускаются в точности также быстро, как и в systemd, только без этого systemd и даже без sysvinit.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)