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 доступна здесь

  • Как я могу использовать беспроводную сеть и ethernet для работы с ubuntu?
  • Как отформатировать диск без потери grub?
  • Postfix не выпускает электронную почту
  • Realtek rtl8192cu-fixes выпускает элементарные os
  • Как перенести конфигурацию между компьютерами с различным оборудованием?
  • Как я могу переключаться между различными аппаратными средствами вывода звука с помощью оболочки?
  • Сценарий оболочки для установки пароля для пользователя samba
  • Unarchiving загруженный tarball с Ansible
  • Я не могу подключиться к моему маршрутизатору, когда меняю адрес wlan0 mac на Ubuntu 14.04
  • Отключить учетную запись PAM, но сохранить ландшафт-sysinfo y motd
  • yum - скачать для CentOS с помощью ubuntu?
  • Interesting Posts

    Работает в командной строке, но не в сценарии оболочки

    Как исправить / настроить маршрутизацию с хоста на гостя на VirtualBox?

    Команда sftp с именем «\» в имени пользователя не работает

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

    ssh master – выполнить su удаленно

    Альтернативные способы отображения файлов, исполняемых всеми

    Как установить WiFi и графический драйвер в Debian 9?

    Как установить настройки YUM в Kickstart?

    Лучший способ выпуска RPM, который включает независимый модуль версии

    Что такое GNU Info?

    Почему у bash по умолчанию не было некоторых команд, которые я использовал в истории, но у меня есть другие?

    Вывод команды id из команды запуска с "su -c"

    awk, sed, grep, perl … которые распечатываются в этом случае?

    Как получить мое приложение в диспетчере пакетов Debian

    добавление букв и символов в столбец с помощью awk или sed?

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