Доброе время суток! Уважаемые форумчане, столкнулся с проблемой - автозапуском 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)?
Заранее благодарю за ответ!
>Доброе время суток! Уважаемые форумчане, столкнулся с проблемой - автозапуском 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 также и тд (в линухе не очень силен)
>Заранее благодарю за ответ!все, идем читать доки
Я конечно знаю, что есть скрипты запуска и останова, но имхо у меня они не катят, а почему не знаю, есть только догадки, сейчас попробую объяснить.
Берем к примеру скрипт запуска апача: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 действительно там есть, но он не тот что запускаю я.Но это я думаю уже вопрос десятый...
>[оверквотинг удален]
>fi
>
>Не стану описывать ситуацию с мускулем, т.к. она аналогична, и решив одну
>проблему - решу остальное по аналогии.
>Если не затруднит не могли бы на конкретном примере показать как нужно
>делать, что я делаю не так как надо?
>Обратил внимание при запуске системы пишет: /usr/sbin/apachectl start: Could not be started,
>что дальше не важно.Спрашивается какого х** он смотрит в этот каталог,
>файл apachectl действительно там есть, но он не тот что запускаю
>я.Но это я думаю уже вопрос десятый...перечитай мой первый пост ВНИМАТЕЛЬНО
Пост читал, отдельно по каждому пункту: насчет положить демоны - их сначала завести нужно, а уж потом ложить.Легко сказать открой хэндбук или загугли, etc.А конкретно можно узнать как нужно для начала правильно запустить демоны, этот сайт я выбрал как финальную инстанцию, где должны найтись специалисты, поэтому и спрашиваю конкретно, применительно к моей ситуации.Если это имеет значение все (апач, пхп и мускуль) ставил по этой http://www.opennet.me/base/net/lamp_slackware.txt.html инструкции.
>Пост читал, отдельно по каждому пункту: насчет положить демоны - их сначала
>завести нужно, а уж потом ложить.Легко сказать открой хэндбук или загугли,
>etc.А конкретно можно узнать как нужно для начала правильно запустить демоны,
>этот сайт я выбрал как финальную инстанцию, где должны найтись специалисты,
>поэтому и спрашиваю конкретно, применительно к моей ситуации.Если это имеет значение
>все (апач, пхп и мускуль) ставил по этой http://www.opennet.me/base/net/lamp_slackware.txt.html инструкции.ПРОЧИТАЙ МАНУАЛЫ СВОЕЙ ОС
После чтения вот что получилось - в каталог /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..." когда останов происходит.Я его почти везде пробовал ткнуть - чето не катит, может и оттого что уже мосх кипит:)
екзампел с правельным кейсом#!/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
;;
esacexit 0
Спасибо!В понедельник уже теперь на работе буду - отпишусь.
Еще раз спасибо! Возникло еще несколько вопросов, использовал скрипт который ты посоветовал, естественно переделал путь под свой, вывод при запуске/остановке апача выводится, но почему-то при загрузке системы надпись выводится(тут все нормально), а сам апач не запускается, смотрел вывод 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 где и стартовый скрипт самбы лежит - самба запустилась.Чудеса однако!
>[оверквотинг удален]
>
>Если строку echo "Starting server" закомментить апач нормально запускается.
>
>Еще почему-то перестала при загрузке запускаться самба /etc/rc.d/rc.samba хотя раньше все было
>нормально, вроде ничего и не трогал.
>
>В какой последовательности лучше запускать и останавливать апач и мускуль?
>
>Добавлено позже: убрал на время rc.httpd из каталога /etc/rc.d где и стартовый
>скрипт самбы лежит - самба запустилась.Чудеса однако!В конце rc.httpd убери exit 0
Спасибо, Nimdar! Теперь все заработало именно так как надо мне, с выводом echo, самба грузится, все ок вообщем.Однако еще хотел выяснить - в какой последовательности лучше запускать и останавливать апач и мускуль?
>Спасибо, Nimdar! Теперь все заработало именно так как надо мне, с выводом
>echo, самба грузится, все ок вообщем.Однако еще хотел выяснить - в
>какой последовательности лучше запускать и останавливать апач и мускуль?Запуск — mysql -> apache, а останов в обратном порядке — apache -> mysql.
>[оверквотинг удален]
>>
>>Еще почему-то перестала при загрузке запускаться самба /etc/rc.d/rc.samba хотя раньше все было
>>нормально, вроде ничего и не трогал.
>>
>>В какой последовательности лучше запускать и останавливать апач и мускуль?
>>
>>Добавлено позже: убрал на время rc.httpd из каталога /etc/rc.d где и стартовый
>>скрипт самбы лежит - самба запустилась.Чудеса однако!
>
>В конце rc.httpd убери exit 0ммм какая связь? причуды линукса?
Еще вопрос. У меня мускуль запускается командой /usr/local/mysql/bin/mysqld_safe &
Как правильно написать скрипт автозапуска и останова аналогичный апачу. Я бы подставил все как в примере, но эта команда я так понимаю не имеет параметров stop|start|restart.Буду очень признателен за ответы.
>Еще вопрос. У меня мускуль запускается командой /usr/local/mysql/bin/mysqld_safe &
>Как правильно написать скрипт автозапуска и останова аналогичный апачу. Я бы подставил
>все как в примере, но эта команда я так понимаю не
>имеет параметров stop|start|restart.
>
>Буду очень признателен за ответы.а что в с мускулом не шол скрипт??
>а что в с мускулом не шол скрипт??Небыло, я мускуль сам собирал согласно этой http://www.opennet.me/base/net/lamp_slackware.txt.html статье.
>>а что в с мускулом не шол скрипт??
>
>Небыло, я мускуль сам собирал согласно этой http://www.opennet.me/base/net/lamp_slackware.txt.html статье.когда собирешь поищи файлик типа mysql.server или server.mysql
Есть такой mysql.server еще есть mysql.server.shДальше что делать?
>Есть такой mysql.server еще есть mysql.server.sh
>
>Дальше что делать?Смотреть. Смотреть который похож на загрузочный (примеры у тебя в /etc/rc.d), подправить (если надо), зафигачить куда надо.
Читать, наконец документацию.
>Есть такой mysql.server еще есть mysql.server.sh
>
>Дальше что делать?начинать думать своей головой и читать доки как правильно советует товарисчь
mysql.server - это то что надо
дальше давай уже сам
>[оверквотинг удален]
>>>нормально, вроде ничего и не трогал.
>>>
>>>В какой последовательности лучше запускать и останавливать апач и мускуль?
>>>
>>>Добавлено позже: убрал на время 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=кат хере=
Абиснять, думаю не надо :)
Так вот мой ход мыслей:#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Вроде как все. Верно?
>[оверквотинг удален]
>fi
>
>В rc.K после скрипта остановки апач втыкаю это:
>
># Stop MySQL server:
>if [ -x /etc/rc.d/rc.mysqld ]; then
> . /etc/rc.d/rc.mysqld stop
>fi
>
>Вроде как все. Верно?Верно.
История повторилась - теперь мускул грузится, а апач и самба нет, подозреваю что в скрипте 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! $@"
}
fiPATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
export PATHmode=$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' ;;
esacparse_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 ; docase "$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
fiecho $echo_n ".$echo_c"
i=`expr $i + 1`
sleep 1
doneif 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
fiparse_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
ficase "$mode" in
'start')
# Start daemon# Safeguard (relative paths, core dumps..)
cd $basedirmanager=$bindir/mysqlmanager
if test -x $libexecdir/mysqlmanager
then
manager=$libexecdir/mysqlmanager
elif test -x $sbindir/mysqlmanager
then
manager=$sbindir/mysqlmanager
fiecho $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
fiif 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
;;
esacexit 0
В Конце exit 0 убирать пробовал, не катит. Посмотрите пожалуйста, где тут еще головняк.
Заранее благодарю!
бля давай еще исходник ядра сюда вывали с вопросом "где косяк?"
Ну не бычу я баш скрипт, че поделаешь, а запускать надо.
>Ну не бычу я баш скрипт, че поделаешь, а запускать надо.Не можешь - научим. Условия приведения системы в божеский вид с ликбезом по системному администрированию обсуждаемы.
>В Конце exit 0 убирать пробовал, не катит. Посмотрите пожалуйста, где тут
>еще головняк.
>Заранее благодарю!Пиздец.
Вся необходимая информация для решения твоей проблемы у тебя есть. В скрипте миллион условий, завершающихся exit-ом, туда и копай.
Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет особого желания и тем более времени.Неужели никто внятно не ответит что конкретно поправить?
>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>особого желания и тем более времени.Неужели никто внятно не ответит что
>конкретно поправить?Ты надоел. Убей себя апстену.
>>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>>особого желания и тем более времени.Неужели никто внятно не ответит что
>>конкретно поправить?
>
>Ты надоел. Убей себя апстену.Приятель, не надо так нервничать. А по делу - закомментил все экситы в скрипте и все бодрячком!
>>>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>>>особого желания и тем более времени.Неужели никто внятно не ответит что
>>>конкретно поправить?
>>
>>Ты надоел. Убей себя апстену.
>
>Приятель, не надо так нервничать. А по делу - закомментил все экситы
>в скрипте и все бодрячком!а что у линуха религиозная нетерпимость на екзиты?
>а что у линуха религиозная нетерпимость на екзиты?Похоже что так, другого разумного объяснения я не вижу:)
>>а что у линуха религиозная нетерпимость на екзиты?
>
>Похоже что так, другого разумного объяснения я не вижу:)man bash
Читать раздел SHELL BUILTIN COMMANDS
>>>>Там действительно их много, тыкать пробовать каждое и их комбинации разнообразные нет
>>>>особого желания и тем более времени.Неужели никто внятно не ответит что
>>>>конкретно поправить?
>>>
>>>Ты надоел. Убей себя апстену.
>>
>>Приятель, не надо так нервничать. А по делу - закомментил все экситы
>>в скрипте и все бодрячком!
>
>а что у линуха религиозная нетерпимость на екзиты?Не у линуха, а у некоторых скриптов. Выше я уже показывал.
>[оверквотинг удален]
>>>>>конкретно поправить?
>>>>
>>>>Ты надоел. Убей себя апстену.
>>>
>>>Приятель, не надо так нервничать. А по делу - закомментил все экситы
>>>в скрипте и все бодрячком!
>>
>>а что у линуха религиозная нетерпимость на екзиты?
>
>Не у линуха, а у некоторых скриптов. Выше я уже показывал.я просто прохлопал этот пост:
>[оверквотинг удален]
>fi
>
># Start Samba
>if [ -x /etc/rc.d/rc.samba ]; then
> . /etc/rc.d/rc.samba start
>fi
>
>=кат хере=
>
>Абиснять, думаю не надо :)и че? какую роковую роль играет ексит? ну вернулся ноль в текущий сценарий - в чем трабла?
>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>сценарий - в чем трабла?Это как бы один сценарий разбитый на файлы. Эксит это просто завершение программы, не ретурн.
man exit
>[оверквотинг удален]
>>if [ -x /etc/rc.d/rc.samba ]; then
>> . /etc/rc.d/rc.samba start
>>fi
>>
>>=кат хере=
>>
>>Абиснять, думаю не надо :)
>
>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>сценарий - в чем трабла?Ну ё-маё. Ничего никуда не возвращается, это текущий сценарий получает exit. Там Fisher уже сказал.
>[оверквотинг удален]
>>>
>>>=кат хере=
>>>
>>>Абиснять, думаю не надо :)
>>
>>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>>сценарий - в чем трабла?
>
>Ну ё-маё. Ничего никуда не возвращается, это текущий сценарий получает exit. Там
>Fisher уже сказал.да туплю я - те получается что все rc.* файлы которые идут после файла содержащего ексит тупо игнорятся ды?
дык мож тогда проще в файле который перебирает rc файлы убрать точку?
>[оверквотинг удален]
>>>>Абиснять, думаю не надо :)
>>>
>>>и че? какую роковую роль играет ексит? ну вернулся ноль в текущий
>>>сценарий - в чем трабла?
>>
>>Ну ё-маё. Ничего никуда не возвращается, это текущий сценарий получает exit. Там
>>Fisher уже сказал.
>
>да туплю я - те получается что все rc.* файлы которые идут
>после файла содержащего ексит тупо игнорятся ды?Можно сказать и так.
>дык мож тогда проще в файле который перебирает rc файлы убрать точку?
>Править загрузочные файлы считаю дурным занятием. Да и после мажорного обновления системы, нужно помнить об этом.
Для таких случаев есть rc.local, который можно сделать подобным rc.M и из которого уже запускать свои скрипты.
>Для таких случаев есть rc.local, который можно сделать подобным rc.M и из
>которого уже запускать свои скрипты.лан бум считать что это причуды линуксы - на фре я такой траблы не имею
с линуксом не много общаюсь - пока вроде все шло гладко )
>>Для таких случаев есть rc.local, который можно сделать подобным rc.M и из
>>которого уже запускать свои скрипты.
>
>лан бум считать что это причуды линуксы - на фре я такой
>траблы не имею
>с линуксом не много общаюсь - пока вроде все шло гладко )
>Не-е, не линукса вообще, а именно мопса. Точнее слаки и её клонов (мопс - это слака российского разлива) :)
>>>Для таких случаев есть rc.local, который можно сделать подобным rc.M и из
>>>которого уже запускать свои скрипты.
>>
>>лан бум считать что это причуды линуксы - на фре я такой
>>траблы не имею
>>с линуксом не много общаюсь - пока вроде все шло гладко )
>>
>
>Не-е, не линукса вообще, а именно мопса. Точнее слаки и её клонов
>(мопс - это слака российского разлива) :)Напридумывают всяких слак, мопсов, только не понятно зачем.
Кому что ближе, мне например source based дистрибутивы-как раз слака, мопс.Не убунту же юзать:)
>Не убунту же юзать:)Ни в коем случае! Иначе откуда бы мы все узнали про то, что "линукс не любит экситов", кроме как из темы #1 из Самых Интересных в форуме?!
> ПРОЧИТАЙ МАНУАЛЫ СВОЕЙ ОСРусские форумы, тупые и беспощадные=)