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

  • «Ошибка: нет такого устройства» при загрузке в Ubuntu Server 11.10 с Raid1
  • Как просматривать встроенные PDF-файлы на веб-сайте в Ubuntu 14.04?
  • Удалить вторичный IP-адрес с помощью NetworkManager / nmcli
  • Удаление Linux из установки с двойной загрузкой. Как восстановить загрузчик Windows или сохранить GRUB?
  • Добавьте новый HDD в Azure VM и установите RAID 0
  • Есть ли параллельный wget? Что-то вроде fping, но только для загрузки?
  • Установка Ubuntu с USB на Linux mint
  • Pagemap на устройствах с отображением памяти не работает
  • Есть ли решение, когда система зависает на «переключении на clocksource tsc»?
  • Как восстановить таблицу разделов (Windows, Ubuntu) нераспределенного диска?
  • как удалить блокнот от Ubuntu 13.04?
  • Почему члены моста теряют адрес Ip?
  • Linux и Unix - лучшая ОС в мире.