Моя работа зависит от MySQL. Поэтому я хочу, чтобы моя работа могла запускаться после MySQL.
Я прочитал кулинарную книгу выскочки и обнаружил, что start on
может автоматически начать работу.
start on started mysql
И это работает. Но я не хочу, чтобы mysql повлиял на мою работу после загрузки. Когда я остановлю свою работу, она будет перезапущена путем перезапуска MySQL. Как этого избежать?
Создайте файл блокировки в /tmp/
папка для отслеживания того задания, уже выполненного. Здесь пример:
Создают эти два новомодных конфигурационных файла заданий:
/etc/init/joba.conf
# job A
start on local-filesystems
stop on runlevel[016]
script
/bin/echo job-A started >> /tmp/myjobs.log
exec sleep 5
end script
/etc/init/jobb.conf
# job B triggered after A
start on started joba
script
/bin/echo job-B started >> /tmp/myjobs.log
if ! [ -f /tmp/jobb.lock ]
then
/bin/echo " do job-B tasks" >> /tmp/myjobs.log
/bin/touch /tmp/jobb.lock
else
/bin/echo " bypass job-B tasks" >> /tmp/myjobs.log
fi
exec sleep 5
end script
Перезагрузка
cat /tmp/myjobs.log
или открывают sudo tail -f /tmp/myjobs.log
в другом окне. sudo start joba
Проверка /tmp/myjobs.log
, видит обходное примечание:
job-A started
job-B started
do job-B tasks
job-B started
bypass job-B tasks
job-A started
job-B started
job-A started
bypass job-B tasks
Примечание: Для каждого выполнения, у нас есть 3 строки. Это не имеет значения строки, сортирующие здесь. stdout
проблема буферизации, это не связано с выскочкой. Задания выполняются в корректной последовательности.