Ubuntu: где добавить скрипт, выполняющий SQL при запуске машины?

Каждый раз, когда Ubuntu запускается, мне нужно запустить скрипт, на котором запущены некоторые SQL. Поэтому мне нужно запустить его после запуска MySQL.

Где я должен поставить такой скрипт?

2 Solutions collect form web for “Ubuntu: где добавить скрипт, выполняющий SQL при запуске машины?”

файл должен быть помещен в /etc/init.d , а ссылка /etc/rc2.d в /etc/rc2.d (при условии, что вы находитесь на уровне запуска 2 (см. who -r ).

Ссылка должна быть в форме S99sql , все файлы в rc2.d выполняются в алфавитном порядке.

подводить итоги,

создать файл тура в /etc/init.d/mysqlcmd.sh

затем смените каталог на /etc/rc2.d ans ln -s ../init.d/mysqlcmd.sh S99mysql

Systemd

Если версия Ubuntu, которую вы используете, использует systemd (14.04), тогда вы можете изменить файл .service и добавить еще один скрипт, который будет запущен, когда MySQL будет готов.

 # vi /usr/lib/systemd/system/mysqld.service 

Добавить еще одну запись:

 ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID 

добавив точку с запятой и имя вашего скрипта:

 ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID ; <path to my script> 

Обратите внимание, что эти сценарии не запускаются с использованием оболочки, поэтому вам нужно будет обернуть их в bash или подобный, если вам нужно перенаправить и т. Д.

Сценарий mysqld-wait-ready выполняет именно то, что он говорит, и ждет, пока mysqld будет готов принимать соединения. Поэтому ваш скрипт должен иметь возможность запускать SQL на сервере.

Выскочка

Для версий Ubuntu до версии 14.04 вы можете создать файл upstart conf

 description "My Post-MySQL Start Script" author "Pavel Bernshtam" start on started mysql task script # do my stuff here end script 

Сохраните файл в /etc/init/<my script name>.conf

Более подробная информация о сценариях upstart доступна здесь

  • Установите те же 64-битные пакеты, что и 32-разрядная установка Xubuntu
  • Массовые убийства
  • Как переключить блокировку esc и caps с помощью gsettings / gconftool-2 в ubuntu 14.04?
  • WordPress high Steal время на Linux Ubuntu 16.04.1
  • количество открытых файлов не работает
  • Нет звука на Ubuntu 11.04
  • Сценарий оболочки для установки пароля для пользователя samba
  • Рекурсивно найти файлы, которые имеют процент общих линий
  • mkdir: невозможно создать каталог под / root: разрешено разрешение
  • Как проверить, установлен ли mysql с помощью сценария bash?
  • Как извлечь изображения из видеофайла?
  • Ошибка: TCA_HTB_PAD не объявлен при создании ядра
  • Interesting Posts

    Почему я не могу переключиться на виртуальный каталог avfs с кавычками?

    Переопределить a: = в другом файле makefile

    Rosetta Stone для Linux-дистрибутивов?

    Как подключиться к последовательному порту так же просто, как использовать SSH?

    Как изменить получателя при отскакивании электронной почты в Mutt?

    Является ли VMWARE_BALLOON (вариант ядра Linux) для гостей или хостов?

    Пользовательский скрипт Bash

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

    SCP работает, но SSH не работает (по Wi-Fi)

    веб-камера начинает висит os

    Как запланировать что-то запускать один раз с помощью anacron?

    Как проверить, какую оболочку я использую в терминале?

    сделать существующий сеанс rdesktop захватить клавиатуру / мышь

    Как использовать устройство Peak PCAN-USB для сохранения CAN-трассировки с использованием модулей ядра 4.4?

    найти команду в Linux

    Linux и Unix - лучшая ОС в мире.