----- Original Message ----- From: "Михаил Монашёв" To: "Denis Kirienko" Sent: Friday, January 14, 2005 2:51 AM Subject: Re[4]: [Comm] Идеальный скрипт перезапуска mysqld > Здравствуйте Денис > > >> Мне нужен простой sh скриптик с параметрами start|stop|restart > > DK> Вы шутите? > DK> /etc/init.d/mysql start|stop|restart > > Всё дело в том, что одновременно запущено несколько mysql и хотелось > бы обращаться к ним например вот так: > mysql5 restart > > а не писать кучу параметров: пароль, юзера, сокет, ссылку на конфиг и т.д. Тогда все-таки стоит потрудиться и написать /etc/init.d/mysqld1 /etc/init.d/musqld2 , как вам уже посоветовали. Я делал такой вариант для httpd, radiusd, и он нормально работает. Методика в общем проста: Необходимо следующее: 1. непосредственно для разных экземпляров сервиса, безотносительно к скриптам его запуска, обеспечить различные конфигурационные файлы, рабочие каталоги, лог-файлы, pid файлы. 2. сделать по одному экземпляру скрипта в /etc/init.d для каждого экземпляра сервиса. 3. обеспечить соответствие пересекающихся по смыслу параметров (например, pid-файлы) в скриптах запуска и конфигурационных файлах серевера. Основная работа состоит в модификации скриптов запуска так, чтобы команды start, stop и т.д. посыла- лись нужному экземпляру сервиса, и сервис запускался с нужным конфигурационным файлом. Для httpd это делается так: 1. создаем линк на http, имеющий другое имя, например: ln -s /usr/sbin/httpd /usr/sbin/httpd-test (кто-то в этом треде упоминал про проблему killall в скрипте, так линк как раз для этого) 2. прикладываем патч (см. аттач), который модифицирует скрипт запуска, добавляя возможность иметь разные конфиги и делать start/stop отдельным экземплярам 3. тиражируем скрипт n раз. У меня например /etc/init.d/httpd и /etc/init.d/httpd-test различаются только этим < BINARY=/usr/sbin/httpd < PIDFILE=/var/run/httpd.pid < PERLPIDFILE=/var/run/httpd-perl.pid < LOCKFILE=/var/lock/subsys/httpd --- > BINARY=/usr/sbin/httpd-test > PIDFILE=/var/run/httpd-test.pid > PERLPIDFILE=/var/run/httpd-perl-test.pid > LOCKFILE=/var/lock/subsys/httpd-test 23c23 < CFGFILE=/etc/httpd/conf/httpd.conf --- > CFGFILE=/home/test/httpd/conf/httpd.conf 33c33 < STATUSURL="http://localhost/server-status" --- > STATUSURL="http://www.test.ru/server-status" Правда, в вашем случае дело осложняется тем, что mysqld пускается через safe-mysqld, но это тоже решаемая проблема