The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Автозагрузка mysql и apache в mops linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 03-Сен-09, 09:10 
Доброе время суток! Уважаемые форумчане, столкнулся с проблемой - автозапуском  mysql версии 5.1.35 и apache 2.2.11.Задача: заставить грузится автоматически.Не первый день работаю с линукс, но эта задача вводит в ступор, запускной файл апача лежит /usr/local/httpd/bin/apachectl, запускается /usr/local/httpd/bin/apachectl start стартовый файл мускуля /usr/local/mysql/bin/mysqld_safe &
Сразу скажу, что набрав руками от рута /usr/local/mysql/bin/mysqld_safe & и /usr/local/httpd/bin/apachectl start оба грузятся нормально, но это же не дело постоянно ручками их запускать;).
Вот мой /etc/rc.d/rc.local:

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local setup commands in here:
/etc/webmin/start >/dev/null 2>&1 </dev/null # Start Webmin
/usr/local/mysql/bin/mysqld_safe &  #не запускается
/usr/local/httpd/bin/apachectl start   #не запускается

Вопросы: что я делаю неправильно? И как все-таки заставить апач и мускуль грузится при запуске системы? В правильной ли последовательности я их запускаю (сначала mysql, потом уже apache)?

Заранее благодарю за ответ!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 03-Сен-09, 12:03 
>Доброе время суток! Уважаемые форумчане, столкнулся с проблемой - автозапуском  mysql
>версии 5.1.35 и apache 2.2.11.Задача: заставить грузится автоматически.Не первый день работаю
>с линукс, но эта задача вводит в ступор, запускной файл апача

не первый день тупо смотришт на консоль, вот что работаешь ты с ним я очень сомневаюсь
>лежит /usr/local/httpd/bin/apachectl, запускается /usr/local/httpd/bin/apachectl start стартовый файл мускуля /usr/local/mysql/bin/mysqld_safe &
>Сразу скажу, что набрав руками от рута /usr/local/mysql/bin/mysqld_safe & и /usr/local/httpd/bin/apachectl start
>оба грузятся нормально, но это же не дело постоянно ручками их
>запускать;).

сам догадался?
>[оверквотинг удален]
>#!/bin/sh
>#
># /etc/rc.d/rc.local:  Local system initialization script.
>#
># Put any local setup commands in here:
>/etc/webmin/start >/dev/null 2>&1 </dev/null # Start Webmin
>/usr/local/mysql/bin/mysqld_safe &  #не запускается
>/usr/local/httpd/bin/apachectl start   #не запускается
>
>Вопросы: что я делаю неправильно?

ты все делаешь неправильно от начала и до конца! все!!!!
хотябы то, что ты не учел что при остановке системы тебе надо эти процессы корректно положить
если апач нормально переживет тупой килл - то мускул может и базы запороть
>И как все-таки заставить апач и мускуль
>грузится при запуске системы? В правильной ли последовательности я их запускаю
>(сначала mysql, потом уже apache)?

надо открыть хендбук системы, с которой ты работаешь и прочитать глуву "скрипты старта и остановки демонов" или чтото аналогичне, rc.d или както так, в линухе чето типа init.d также и тд (в линухе не очень силен)
>Заранее благодарю за ответ!

все, идем читать доки

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 03-Сен-09, 15:57 
Я конечно знаю, что есть скрипты запуска и останова, но имхо у меня они не катят, а почему не знаю, есть только догадки, сейчас попробую объяснить.
Берем к примеру скрипт запуска апача:

if [ -x /etc/rc.d/rc.httpd ]; then
  . /etc/rc.d/rc.httpd start
fi

Что мы видим - демон сам лежит в папке /etc/rc.d и запускается /etc/rc.d/rc.httpd start, когда был у меня старый апач я так и делал(когда еще лежал он у меня /etc/rc.d/rc.httpd), но у меня совершенно другая ситуация, все хозяйство лежит в /usr/local/httpd/bin, а запускается командой /usr/local/httpd/bin/apachectl start.Я уже всю голову сломал в чем же дело, в rc.local прописал:

if [ -x /usr/local/httpd/bin/apachectl ]; then
  . /usr/local/httpd/bin/apachectl start
fi

пробовал даже:

if [ -x /usr/local/httpd/bin/httpd ]; then
  . /usr/local/httpd/bin/httpd start   #руками и так запускается
fi

Не стану описывать ситуацию с мускулем, т.к. она аналогична, и решив одну проблему - решу остальное по аналогии.
Если не затруднит не могли бы на конкретном примере показать как нужно делать, что я делаю не так как надо?
Обратил внимание при запуске системы пишет: /usr/sbin/apachectl start: Could not be started, что дальше не важно.Спрашивается какого х** он смотрит в этот каталог, файл apachectl действительно там есть, но он не тот что запускаю я.Но это я думаю уже вопрос десятый...

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 03-Сен-09, 16:48 
>[оверквотинг удален]
>fi
>
>Не стану описывать ситуацию с мускулем, т.к. она аналогична, и решив одну
>проблему - решу остальное по аналогии.
>Если не затруднит не могли бы на конкретном примере показать как нужно
>делать, что я делаю не так как надо?
>Обратил внимание при запуске системы пишет: /usr/sbin/apachectl start: Could not be started,
>что дальше не важно.Спрашивается какого х** он смотрит в этот каталог,
>файл apachectl действительно там есть, но он не тот что запускаю
>я.Но это я думаю уже вопрос десятый...

перечитай мой первый пост ВНИМАТЕЛЬНО

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 03-Сен-09, 16:58 
Пост читал, отдельно по каждому пункту: насчет положить демоны - их сначала завести нужно, а уж потом ложить.Легко сказать открой хэндбук или загугли, etc.А конкретно можно узнать как нужно для начала правильно запустить демоны, этот сайт я выбрал как финальную инстанцию, где должны найтись специалисты, поэтому и спрашиваю конкретно, применительно к моей ситуации.Если это имеет значение все (апач, пхп и мускуль) ставил по этой http://www.opennet.ru/base/net/lamp_slackware.txt.html инструкции.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 03-Сен-09, 17:58 
>Пост читал, отдельно по каждому пункту: насчет положить демоны - их сначала
>завести нужно, а уж потом ложить.Легко сказать открой хэндбук или загугли,
>etc.А конкретно можно узнать как нужно для начала правильно запустить демоны,
>этот сайт я выбрал как финальную инстанцию, где должны найтись специалисты,
>поэтому и спрашиваю конкретно, применительно к моей ситуации.Если это имеет значение
>все (апач, пхп и мускуль) ставил по этой http://www.opennet.ru/base/net/lamp_slackware.txt.html инструкции.

ПРОЧИТАЙ МАНУАЛЫ СВОЕЙ ОС

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 04-Сен-09, 15:03 
После чтения вот что получилось - в каталог /etc/rc.d положил скрипт rc.httpd следующего содержания:

#!/bin/sh
#
# /etc/rc.d/rc.httpd
#
# Start/stop/restart the Apache web server.
#
# To make Apache start automatically at boot, make this
# file executable:  chmod 755 /etc/rc.d/rc.httpd
#
case "$1" in
   'start')
      /usr/local/httpd/bin/apachectl start ;;
   'stop')
      /usr/local/httpd/bin/apachectl stop ;;
   'restart')
      /usr/local/httpd/bin/apachectl restart ;;
   *)
      echo "usage $0 start|stop|restart" ;;
esac

Все как надо - запускается.

Теперь вопрос: куда мне ткнуть echo "Starting web server apache..." чтоб при загрузке системы видеть, что демон запустился, и echo "Stopping web server apache..." когда останов происходит.Я его почти везде пробовал ткнуть - чето не катит, может и оттого что уже мосх кипит:)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 04-Сен-09, 15:32 
екзампел с правельным кейсом

#!/bin/sh
case "$1" in
start)
        echo "Starting server"
        some_command_if_need
        ....
        /usr/local/apache2/bin/apachectl start > /dev/null
        ;;
stop)
        echo "Stoping server"
        /usr/local/apache2/bin/apachectl graceful-stop > /dev/null
        ;;
restart)
        /usr/local/apache2/bin/apachectl restart > /dev/null
        ;;
graceful)
        /usr/local/apache2/bin/apachectl graceful > /dev/null
        ;;
configtest)
        /usr/local/apache2/bin/apachectl configtest > /dev/null
        ;;
*)
        echo "Usage: `basename $0` {start|stop|restart|graceful|configtest}" >&2
        ;;
esac

exit 0

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 04-Сен-09, 16:56 
Спасибо!В понедельник уже теперь на работе буду - отпишусь.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 07-Сен-09, 11:14 
Еще раз спасибо! Возникло еще несколько вопросов, использовал скрипт который ты посоветовал, естественно переделал путь под свой, вывод при запуске/остановке апача выводится, но почему-то при загрузке системы надпись выводится(тут все нормально), а сам апач не запускается, смотрел вывод ps -aux | grep httpd, подозреваю что и не останавливается, а только сообщение выводится.

echo "Starting server" # это выполняется
/usr/local/apache2/bin/apachectl start > /dev/null ;; # а это похоже что нет

Если строку echo "Starting server" закомментить апач нормально запускается.

Еще почему-то перестала при загрузке запускаться самба /etc/rc.d/rc.samba хотя раньше все было нормально, вроде ничего и не трогал.

В какой последовательности лучше запускать и останавливать апач и мускуль?

Добавлено позже: убрал на время rc.httpd из каталога /etc/rc.d где и стартовый скрипт самбы лежит - самба запустилась.Чудеса однако!

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 07-Сен-09, 12:59 
>[оверквотинг удален]
>
>Если строку echo "Starting server" закомментить апач нормально запускается.
>
>Еще почему-то перестала при загрузке запускаться самба /etc/rc.d/rc.samba хотя раньше все было
>нормально, вроде ничего и не трогал.
>
>В какой последовательности лучше запускать и останавливать апач и мускуль?
>
>Добавлено позже: убрал на время rc.httpd из каталога /etc/rc.d где и стартовый
>скрипт самбы лежит - самба запустилась.Чудеса однако!

В конце rc.httpd убери exit 0

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 07-Сен-09, 16:35 
Спасибо, Nimdar! Теперь все заработало именно так как надо мне, с выводом echo, самба грузится, все ок вообщем.Однако еще хотел выяснить - в какой последовательности лучше запускать и останавливать апач и мускуль?


Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 07-Сен-09, 17:35 
>Спасибо, Nimdar! Теперь все заработало именно так как надо мне, с выводом
>echo, самба грузится, все ок вообщем.Однако еще хотел выяснить - в
>какой последовательности лучше запускать и останавливать апач и мускуль?

Запуск — mysql -> apache, а останов в обратном порядке — apache -> mysql.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 07-Сен-09, 19:25 
>[оверквотинг удален]
>>
>>Еще почему-то перестала при загрузке запускаться самба /etc/rc.d/rc.samba хотя раньше все было
>>нормально, вроде ничего и не трогал.
>>
>>В какой последовательности лучше запускать и останавливать апач и мускуль?
>>
>>Добавлено позже: убрал на время rc.httpd из каталога /etc/rc.d где и стартовый
>>скрипт самбы лежит - самба запустилась.Чудеса однако!
>
>В конце rc.httpd убери exit 0

ммм какая связь? причуды линукса?

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

14. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 08-Сен-09, 08:12 
Еще вопрос. У меня мускуль запускается командой /usr/local/mysql/bin/mysqld_safe &
Как правильно написать скрипт автозапуска и останова аналогичный апачу. Я бы подставил все как в примере, но эта команда я так понимаю не имеет параметров stop|start|restart.

Буду очень признателен за ответы.


Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 08-Сен-09, 08:14 
>Еще вопрос. У меня мускуль запускается командой /usr/local/mysql/bin/mysqld_safe &
>Как правильно написать скрипт автозапуска и останова аналогичный апачу. Я бы подставил
>все как в примере, но эта команда я так понимаю не
>имеет параметров stop|start|restart.
>
>Буду очень признателен за ответы.

а что в с мускулом не шол скрипт??

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 08-Сен-09, 09:04 
>а что в с мускулом не шол скрипт??

Небыло, я мускуль сам собирал согласно этой http://www.opennet.ru/base/net/lamp_slackware.txt.html статье.


Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 08-Сен-09, 09:22 
>>а что в с мускулом не шол скрипт??
>
>Небыло, я мускуль сам собирал согласно этой http://www.opennet.ru/base/net/lamp_slackware.txt.html статье.

когда собирешь поищи файлик типа mysql.server или server.mysql

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 08-Сен-09, 10:56 
Есть такой mysql.server еще есть mysql.server.sh

Дальше что делать?


Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 08-Сен-09, 11:26 
>Есть такой mysql.server еще есть mysql.server.sh
>
>Дальше что делать?

Смотреть. Смотреть который похож на загрузочный (примеры у тебя в /etc/rc.d), подправить (если надо), зафигачить куда надо.
Читать, наконец документацию.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 08-Сен-09, 12:14 
>Есть такой mysql.server еще есть mysql.server.sh
>
>Дальше что делать?

начинать думать своей головой и читать доки как правильно советует товарисчь
mysql.server  - это то что надо
дальше давай уже сам

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

19. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 08-Сен-09, 11:24 
>[оверквотинг удален]
>>>нормально, вроде ничего и не трогал.
>>>
>>>В какой последовательности лучше запускать и останавливать апач и мускуль?
>>>
>>>Добавлено позже: убрал на время rc.httpd из каталога /etc/rc.d где и стартовый
>>>скрипт самбы лежит - самба запустилась.Чудеса однако!
>>
>>В конце rc.httpd убери exit 0
>
>ммм какая связь? причуды линукса?

Угу. Все rc.* скрипты вызываются из rc.M
=кат хере=

# Start Apache web server:
if [ -x /etc/rc.d/rc.httpd ]; then
  . /etc/rc.d/rc.httpd start
fi

# Start Samba
if [ -x /etc/rc.d/rc.samba ]; then
  . /etc/rc.d/rc.samba start
fi

=кат хере=

Абиснять, думаю не надо :)

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

22. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 08-Сен-09, 15:38 
Так вот мой ход мыслей:

#cp mysql.server /etc/rc.d/rc.mysqld  #такого там пока нет, теперь будет:)
#chmod 755 rc.mysqld

Открываю rc.M и вставляю это хозяйство до строки запуска апача:

# Start MySQL server:
if [ -x /etc/rc.d/rc.mysqld ]; then
  . /etc/rc.d/rc.mysqld start
fi

В rc.K после скрипта остановки апач втыкаю это:

# Stop MySQL server:
if [ -x /etc/rc.d/rc.mysqld ]; then
  . /etc/rc.d/rc.mysqld stop
fi

Вроде как все. Верно?


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

23. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 08-Сен-09, 16:12 
>[оверквотинг удален]
>fi
>
>В rc.K после скрипта остановки апач втыкаю это:
>
># Stop MySQL server:
>if [ -x /etc/rc.d/rc.mysqld ]; then
>  . /etc/rc.d/rc.mysqld stop
>fi
>
>Вроде как все. Верно?

Верно.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

24. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 09-Сен-09, 08:16 
История повторилась - теперь мускул грузится, а апач и самба нет, подозреваю что в скрипте rc.mysqld дело, значит запретил загрузку chmod 000 /etc/rc.d/rc.mysqld, перезагружаю машинку, апач и самба грузятся, вообщем выкладываю содержимое rc.mysqld:

#!/bin/sh
# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
# This file is public domain and comes with NO WARRANTY of any kind

# MySQL daemon start/stop script.

# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
# systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
# When this is done the mysql server will be started when the machine is
# started and shut down when the systems goes down.

# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 64 36
# description: A very fast and reliable SQL database engine.

# Comments to support LSB init script conventions
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $local_fs $network $remote_fs
# Should-Start: ypbind nscd ldap ntpd xntpd
# Required-Stop: $local_fs $network $remote_fs
# Default-Start:  2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop MySQL
# Description: MySQL is a very fast and reliable SQL database engine.
### END INIT INFO

# If you install MySQL on some other places than /usr/local/mysql, then you
# have to do one of the following things for this script to work:
#
# - Run this script from within the MySQL installation directory
# - Create a /etc/my.cnf file with the following information:
#   [mysqld]
#   basedir=<path-to-mysql-installation-directory>
# - Add the above to any other configuration file (for example ~/.my.ini)
#   and copy my_print_defaults to /usr/bin
# - Add the path to the mysql-installation-directory to the basedir variable
#   below.
#
# If you want to affect other MySQL variables, you should make your changes
# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.

# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.

basedir=
datadir=

# Default value, in seconds, afterwhich the script should timeout waiting
# for server start.
# Value here is overriden by value in my.cnf.
# 0 means don't wait at all
# Negative numbers mean to wait indefinitely
service_startup_timeout=900

# The following variables are only set for letting mysql.server find things.

# Set some defaults
pid_file=
server_pid_file=
use_mysqld_safe=1
user=mysql
if test -z "$basedir"
then
  basedir=/usr/local/mysql
  bindir=/usr/local/mysql/bin
  if test -z "$datadir"
  then
    datadir=/usr/local/mysql/var
  fi
  sbindir=/usr/local/mysql/sbin
  libexecdir=/usr/local/mysql/libexec
else
  bindir="$basedir/bin"
  if test -z "$datadir"
  then
    datadir="$basedir/data"
  fi
  sbindir="$basedir/sbin"
  libexecdir="$basedir/libexec"
fi

# datadir_set is used to determine if datadir was set (and so should be
# *not* set inside of the --basedir= handler.)
datadir_set=

#
# Use LSB init script functions for printing messages, if possible
#
lsb_functions="/lib/lsb/init-functions"
if test -f $lsb_functions ; then
  . $lsb_functions
else
  log_success_msg()
  {
    echo " SUCCESS! $@"
  }
  log_failure_msg()
  {
    echo " ERROR! $@"
  }
fi

PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
export PATH

mode=$1    # start or stop
shift
other_args="$*"   # uncommon, but needed when called from an RPM upgrade action
           # Expected: "--skip-networking --skip-grant-tables"
           # They are not checked here, intentionally, as it is the resposibility
           # of the "spec" file author to give correct arguments only.

case `echo "testing\c"`,`echo -n testing` in
    *c*,-n*) echo_n=   echo_c=     ;;
    *c*,*)   echo_n=-n echo_c=     ;;
    *)       echo_n=   echo_c='\c' ;;
esac

parse_server_arguments() {
  for arg do
    case "$arg" in
      --basedir=*)  basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`
                    bindir="$basedir/bin"
            if test -z "$datadir_set"; then
              datadir="$basedir/data"
            fi
            sbindir="$basedir/sbin"
            libexecdir="$basedir/libexec"
        ;;
      --datadir=*)  datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
            datadir_set=1
    ;;
      --user=*)  user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
      --pid-file=*) server_pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
      --service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
      --use-mysqld_safe) use_mysqld_safe=1;;
      --use-manager)     use_mysqld_safe=0;;
    esac
  done
}

parse_manager_arguments() {
  for arg do
    case "$arg" in
      --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
      --user=*)  user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
    esac
  done
}

wait_for_pid () {
  verb="$1"
  manager_pid="$2"  # process ID of the program operating on the pid-file
  i=0
  avoid_race_condition="by checking again"
  while test $i -ne $service_startup_timeout ; do

    case "$verb" in
      'created')
        # wait for a PID-file to pop into existence.
        test -s $pid_file && i='' && break
        ;;
      'removed')
        # wait for this PID-file to disappear
        test ! -s $pid_file && i='' && break
        ;;
      *)
        echo "wait_for_pid () usage: wait_for_pid created|removed manager_pid"
        exit 1
        ;;
    esac

    # if manager isn't running, then pid-file will never be updated
    if test -n "$manager_pid"; then
      if kill -0 "$manager_pid" 2>/dev/null; then
        :  # the manager still runs
      else
        # The manager may have exited between the last pid-file check and now.  
        if test -n "$avoid_race_condition"; then
          avoid_race_condition=""
          continue  # Check again.
        fi

        # there's nothing that will affect the file.
        log_failure_msg "Manager of pid-file quit without updating file."
        return 1  # not waiting any more.
      fi
    fi

    echo $echo_n ".$echo_c"
    i=`expr $i + 1`
    sleep 1
  done

  if test -z "$i" ; then
    log_success_msg
    return 0
  else
    log_failure_msg
    return 1
  fi
}

# Get arguments from the my.cnf file,
# the only group, which is read from now on is [mysqld]
if test -x ./bin/my_print_defaults
then
  print_defaults="./bin/my_print_defaults"
elif test -x $bindir/my_print_defaults
then
  print_defaults="$bindir/my_print_defaults"
elif test -x $bindir/mysql_print_defaults
then
  print_defaults="$bindir/mysql_print_defaults"
else
  # Try to find basedir in /etc/my.cnf
  conf=/etc/my.cnf
  print_defaults=
  if test -r $conf
  then
    subpat='^[^=]*basedir[^=]*=\(.*\)$'
    dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
    for d in $dirs
    do
      d=`echo $d | sed -e 's/[     ]//g'`
      if test -x "$d/bin/my_print_defaults"
      then
        print_defaults="$d/bin/my_print_defaults"
        break
      fi
      if test -x "$d/bin/mysql_print_defaults"
      then
        print_defaults="$d/bin/mysql_print_defaults"
        break
      fi
    done
  fi

  # Hope it's in the PATH ... but I doubt it
  test -z "$print_defaults" && print_defaults="my_print_defaults"
fi

#
# Read defaults file from 'basedir'.   If there is no defaults file there
# check if it's in the old (depricated) place (datadir) and read it from there
#

extra_args=""
if test -r "$basedir/my.cnf"
then
  extra_args="-e $basedir/my.cnf"
else
  if test -r "$datadir/my.cnf"
  then
    extra_args="-e $datadir/my.cnf"
  fi
fi

parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`

# Look for the pidfile
parse_manager_arguments `$print_defaults $extra_args manager`

#
# Set pid file if not given
#
if test -z "$pid_file"
then
  pid_file=$datadir/mysqlmanager-`/bin/hostname`.pid
else
  case "$pid_file" in
    /* ) ;;
    * )  pid_file="$datadir/$pid_file" ;;
  esac
fi
if test -z "$server_pid_file"
then
  server_pid_file=$datadir/`/bin/hostname`.pid
else
  case "$server_pid_file" in
    /* ) ;;
    * )  server_pid_file="$datadir/$server_pid_file" ;;
  esac
fi

case "$mode" in
  'start')
    # Start daemon

    # Safeguard (relative paths, core dumps..)
    cd $basedir

    manager=$bindir/mysqlmanager
    if test -x $libexecdir/mysqlmanager
    then
      manager=$libexecdir/mysqlmanager
    elif test -x $sbindir/mysqlmanager
    then
      manager=$sbindir/mysqlmanager
    fi

    echo $echo_n "Starting MySQL"
    if test -x $manager -a "$use_mysqld_safe" = "0"
    then
      if test -n "$other_args"
      then
        log_failure_msg "MySQL manager does not support options '$other_args'"
        exit 1
      fi
      # Give extra arguments to mysqld with the my.cnf file. This script may
      # be overwritten at next upgrade.
      "$manager" \
        --mysqld-safe-compatible \
        --user="$user" \
        --pid-file="$pid_file" >/dev/null 2>&1 &
      wait_for_pid created $!; return_value=$?

      # Make lock for RedHat / SuSE
      if test -w /var/lock/subsys
      then
        touch /var/lock/subsys/mysqlmanager
      fi
      exit $return_value
    elif test -x $bindir/mysqld_safe
    then
      # Give extra arguments to mysqld with the my.cnf file. This script
      # may be overwritten at next upgrade.
      pid_file=$server_pid_file
      $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
      wait_for_pid created $!; return_value=$?

      # Make lock for RedHat / SuSE
      if test -w /var/lock/subsys
      then
        touch /var/lock/subsys/mysql
      fi
      exit $return_value
    else
      log_failure_msg "Couldn't find MySQL manager ($manager) or server ($bindir/mysqld_safe)"
    fi
    ;;

  'stop')
    # Stop daemon. We use a signal here to avoid having to know the
    # root password.

    # The RedHat / SuSE lock directory to remove
    lock_dir=/var/lock/subsys/mysqlmanager

    # If the manager pid_file doesn't exist, try the server's
    if test ! -s "$pid_file"
    then
      pid_file=$server_pid_file
      lock_dir=/var/lock/subsys/mysql
    fi

    if test -s "$pid_file"
    then
      mysqlmanager_pid=`cat $pid_file`
      echo $echo_n "Shutting down MySQL"
      kill $mysqlmanager_pid
      # mysqlmanager should remove the pid_file when it exits, so wait for it.
      wait_for_pid removed "$mysqlmanager_pid"; return_value=$?

      # delete lock for RedHat / SuSE
      if test -f $lock_dir
      then
        rm -f $lock_dir
      fi
      exit $return_value
    else
      log_failure_msg "MySQL manager or server PID file could not be found!"
    fi
    ;;

  'restart')
    # Stop the service and regardless of whether it was
    # running or not, start it again.
    if $0 stop  $other_args; then
      $0 start $other_args
    else
      log_failure_msg "Failed to stop running server, so refusing to try to start."
      exit 1
    fi
    ;;

  'reload'|'force-reload')
    if test -s "$server_pid_file" ; then
      read mysqld_pid <  $server_pid_file
      kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
      touch $server_pid_file
    else
      log_failure_msg "MySQL PID file could not be found!"
      exit 1
    fi
    ;;
  'status')
    # First, check to see if pid file exists
    if test -s "$server_pid_file" ; then
      read mysqld_pid < $server_pid_file
      if kill -0 $mysqld_pid 2>/dev/null ; then
        log_success_msg "MySQL running ($mysqld_pid)"
        exit 0
      else
        log_failure_msg "MySQL is not running, but PID file exists"
        exit 1
      fi
    else
      # Try to find appropriate mysqld process
      mysqld_pid=`pidof $libexecdir/mysqld`
      if test -z $mysqld_pid ; then
        if test "$use_mysqld_safe" = "0" ; then
          lockfile=/var/lock/subsys/mysqlmanager
        else
          lockfile=/var/lock/subsys/mysql
        fi
        if test -f $lockfile ; then
          log_failure_msg "MySQL is not running, but lock exists"
          exit 2
        fi
        log_failure_msg "MySQL is not running"
        exit 3
      else
        log_failure_msg "MySQL is running but PID file could not be found"
        exit 4
      fi
    fi
    ;;
    *)
      # usage
      echo "Usage: $0  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]"
      exit 1
    ;;
esac

exit 0

В Конце exit 0 убирать пробовал, не катит. Посмотрите пожалуйста, где тут еще головняк.
Заранее благодарю!


Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

25. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 09-Сен-09, 09:51 
бля давай еще исходник ядра сюда вывали с вопросом "где косяк?"
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

26. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 09-Сен-09, 10:08 
Ну не бычу я баш скрипт, че поделаешь, а запускать надо.


Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

28. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 09-Сен-09, 10:53 
>Ну не бычу я баш скрипт, че поделаешь, а запускать надо.

Не можешь - научим. Условия приведения системы в божеский вид с ликбезом по системному администрированию обсуждаемы.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

27. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 09-Сен-09, 10:52 
>В Конце exit 0 убирать пробовал, не катит. Посмотрите пожалуйста, где тут
>еще головняк.
>Заранее благодарю!

Пиздец.
Вся необходимая информация для решения твоей проблемы у тебя есть. В скрипте миллион условий, завершающихся exit-ом, туда и копай.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

29. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 09-Сен-09, 11:34 
Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет особого желания и тем более времени.Неужели никто внятно не ответит что конкретно поправить?


Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

30. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 09-Сен-09, 13:06 
>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>особого желания и тем более времени.Неужели никто внятно не ответит что
>конкретно поправить?

Ты надоел. Убей себя апстену.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

31. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 11-Сен-09, 13:36 
>>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>>особого желания и тем более времени.Неужели никто внятно не ответит что
>>конкретно поправить?
>
>Ты надоел. Убей себя апстену.

Приятель, не надо так нервничать. А по делу - закомментил все экситы в скрипте и все бодрячком!


Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

32. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 11-Сен-09, 13:57 
>>>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>>>особого желания и тем более времени.Неужели никто внятно не ответит что
>>>конкретно поправить?
>>
>>Ты надоел. Убей себя апстену.
>
>Приятель, не надо так нервничать. А по делу - закомментил все экситы
>в скрипте и все бодрячком!

а что у линуха религиозная нетерпимость на екзиты?

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

33. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler email(ok) on 11-Сен-09, 14:51 
>а что у линуха религиозная нетерпимость на екзиты?

Похоже что так, другого разумного объяснения я не вижу:)


Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

35. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 11-Сен-09, 15:27 
>>а что у линуха религиозная нетерпимость на екзиты?
>
>Похоже что так, другого разумного объяснения я не вижу:)

man bash
Читать раздел SHELL BUILTIN COMMANDS

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

34. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 11-Сен-09, 15:15 
>>>>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>>>>особого желания и тем более времени.Неужели никто внятно не ответит что
>>>>конкретно поправить?
>>>
>>>Ты надоел. Убей себя апстену.
>>
>>Приятель, не надо так нервничать. А по делу - закомментил все экситы
>>в скрипте и все бодрячком!
>
>а что у линуха религиозная нетерпимость на екзиты?

Не у линуха, а у некоторых скриптов. Выше я уже показывал.

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

36. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 11-Сен-09, 16:25 
>[оверквотинг удален]
>>>>>конкретно поправить?
>>>>
>>>>Ты надоел. Убей себя апстену.
>>>
>>>Приятель, не надо так нервничать. А по делу - закомментил все экситы
>>>в скрипте и все бодрячком!
>>
>>а что у линуха религиозная нетерпимость на екзиты?
>
>Не у линуха, а у некоторых скриптов. Выше я уже показывал.

я просто прохлопал этот пост:
>[оверквотинг удален]
>fi
>
># Start Samba
>if [ -x /etc/rc.d/rc.samba ]; then
>  . /etc/rc.d/rc.samba start
>fi
>
>=кат хере=
>
>Абиснять, думаю не надо :)

и че? какую роковую роль играет ексит? ну вернулся ноль в текущий сценарий - в чем трабла?

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

37. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Fisher (??) on 11-Сен-09, 16:51 
>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>сценарий - в чем трабла?

Это как бы один сценарий разбитый на файлы. Эксит это просто завершение программы, не ретурн.
man exit

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

38. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 11-Сен-09, 16:53 
>[оверквотинг удален]
>>if [ -x /etc/rc.d/rc.samba ]; then
>>  . /etc/rc.d/rc.samba start
>>fi
>>
>>=кат хере=
>>
>>Абиснять, думаю не надо :)
>
>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>сценарий - в чем трабла?

Ну ё-маё. Ничего никуда не возвращается, это текущий сценарий получает exit. Там Fisher уже сказал.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

39. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 11-Сен-09, 17:32 
>[оверквотинг удален]
>>>
>>>=кат хере=
>>>
>>>Абиснять, думаю не надо :)
>>
>>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>>сценарий - в чем трабла?
>
>Ну ё-маё. Ничего никуда не возвращается, это текущий сценарий получает exit. Там
>Fisher уже сказал.

да туплю я - те получается что все rc.* файлы которые идут после файла содержащего ексит тупо игнорятся ды?
дык мож тогда проще в файле который перебирает rc файлы убрать точку?

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

40. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 11-Сен-09, 18:06 
>[оверквотинг удален]
>>>>Абиснять, думаю не надо :)
>>>
>>>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>>>сценарий - в чем трабла?
>>
>>Ну ё-маё. Ничего никуда не возвращается, это текущий сценарий получает exit. Там
>>Fisher уже сказал.
>
>да туплю я - те получается что все rc.* файлы которые идут
>после файла содержащего ексит тупо игнорятся ды?

Можно сказать и так.

>дык мож тогда проще в файле который перебирает rc файлы убрать точку?
>

Править загрузочные файлы считаю дурным занятием. Да и после мажорного обновления системы, нужно помнить об этом.
Для таких случаев есть rc.local, который можно сделать подобным rc.M и из которого уже запускать свои скрипты.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

41. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Pahanivo email(ok) on 11-Сен-09, 18:25 
>Для таких случаев есть rc.local, который можно сделать подобным rc.M и из
>которого уже запускать свои скрипты.

лан бум считать что это причуды линуксы - на фре я такой траблы не имею
с линуксом не много общаюсь - пока вроде все шло гладко )

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

42. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Nimdar (ok) on 11-Сен-09, 18:31 
>>Для таких случаев есть rc.local, который можно сделать подобным rc.M и из
>>которого уже запускать свои скрипты.
>
>лан бум считать что это причуды линуксы - на фре я такой
>траблы не имею
>с линуксом не много общаюсь - пока вроде все шло гладко )
>

Не-е, не линукса вообще, а именно мопса. Точнее слаки и её клонов (мопс - это слака российского разлива) :)

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

43. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Fisher (??) on 11-Сен-09, 18:56 
>>>Для таких случаев есть rc.local, который можно сделать подобным rc.M и из
>>>которого уже запускать свои скрипты.
>>
>>лан бум считать что это причуды линуксы - на фре я такой
>>траблы не имею
>>с линуксом не много общаюсь - пока вроде все шло гладко )
>>
>
>Не-е, не линукса вообще, а именно мопса. Точнее слаки и её клонов
>(мопс - это слака российского разлива) :)

Напридумывают всяких слак, мопсов, только не понятно зачем.

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

44. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от restyler (ok) on 13-Сен-09, 16:22 
Кому что ближе, мне например source based дистрибутивы-как раз слака, мопс.Не убунту же юзать:)


Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

45. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от Andrey Mitrofanov on 14-Сен-09, 10:13 
>Не убунту же юзать:)

Ни в коем случае! Иначе откуда бы мы все узнали про то, что "линукс не любит экситов", кроме как из темы #1 из Самых Интересных в форуме?!

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

46. "Автозагрузка mysql и apache в mops linux"  +/
Сообщение от anonimniyanonim on 03-Апр-12, 22:48 
> ПРОЧИТАЙ МАНУАЛЫ СВОЕЙ ОС

Русские форумы, тупые и беспощадные=)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру