Ubuntu Upstart - стартиране на скрипт преди стартиране на MySQL

Преди да стартирам mysql на Ubuntu сървър, трябва да стартирам друг скрипт, който настройва няколко неща. mysql се стартира от системата Upstart. Никога не бях чувал за Upstart, но сега прочетох документацията и мисля, че има няколко опции за това как може да се постигне това, но ще бъда благодарен на по-опитен потребител на Upstart да потвърди или по друг начин моите заключения.

От четирите опции по-долу предпочитам последната, защото не включва промяна на заданието mysql.conf.

mysql.conf:
pre-start script
    mkdir -p /mnt/mysql
    [ -L /var/lib/mysql ] || ln -s /mnt/mysql /var/lib/mysql
    /usr/bin/mysql_install_db --user=mysql
chown mysql:mysql /var/lib/mysql/mysql/.
chown mysql:mysql /var/lib/mysql/mysql/*
end script

mysql.conf
pre-start exec /var/myscriptfile (where myscriptfile contains mkdir -p /mnt/mysql etc)

mysql.conf
start on started mysql-primer
(where mysql-primer is an Upstart job that does mkdir etc)

mything.conf
start on starting mysql
task
script
    mkdir -p /mnt/mysql
    [ -L /var/lib/mysql ] || ln -s /mnt/mysql /var/lib/mysql
    /usr/bin/mysql_install_db --user=mysql
chown mysql:mysql /var/lib/mysql/mysql/.
chown mysql:mysql /var/lib/mysql/mysql/*
end script

Благодаря, Пол


person user265330    schedule 11.07.2012    source източник


Отговори (1)


Последната ти идея е напълно правилна:

mything.conf:

start on starting mysql
task
script
    mkdir -p /mnt/mysql
    [ -L /var/lib/mysql ] || ln -s /mnt/mysql /var/lib/mysql
    /usr/bin/mysql_install_db --user=mysql
    chown mysql:mysql /var/lib/mysql/mysql/.
    chown mysql:mysql /var/lib/mysql/mysql/*
end script

Стартовото събитие блокира всички задачи, които започват върху него, докато въпросните задачи не завършат.

person SpamapS    schedule 07.09.2012