У меня есть программное обеспечение (в основном python, .sh и cron и т. Д.) В Git, которое я сбрасываю во время загрузки моего Pi, чтобы я всегда имел последние код работает. Я новичок в Unix и Git. У меня есть несколько Pis, поэтому я эффективно пытаюсь автоматизировать распространение и постоянно обновлять их каждый раз при загрузке.Один раз только сценарий загрузки на pi
У меня есть DB DB, и я только что добавил несколько новых таблиц.
Теперь я хочу, чтобы вытащить файл сценария, который создаст таблицу, и установит некоторые значения по умолчанию, но я не хочу делать это каждый раз, когда я загружаюсь, или он будет потенциально устанавливать значения данных обратно по умолчанию при каждой загрузке ... ничего хорошего.
Что мне до сих пор является .sh-файл, который запускается через crontab при перезагрузке. Этот файл делает Git pull, затем перемещает файлы и сортирует вещи.
Что я планировал сделать, это добавить команду по линии следующих моей загрузки .sh файл:
sudo MySQL --batch -h localhost -u root --password=PASSWORD -D databasename <sqlscript> outfile.log
sqlscript файл будет содержать CREATE TABLE
команды, UPDATE
т.д.
Но что я не могу сработать, так это только один раз?
Рассмотренные варианты:
я мог удалить с sqlscript после того как я запустить его, но я тогда получаю сообщение об ошибке из файла .sh каждый раз, когда я загрузиться.
Я мог бы заменить файл .sh после его запуска один раз одним без команды MYSQL в нем ... но тогда, если Pi отстает от версий и перескакивает несколько версий при обновлении, я бы пропустил промежуточный .sh с таблицами SQL:
Я мог бы сделать что-то действительно сложное, добавив номера версий по всему месту, но пока это слишком много.
Возможно, я мог бы проверить, не существует ли таблицы, даже выбрав из таблицы
TABLES
, если она пропустит скрипт, если не произведет его? Это в настоящее время, вероятно, путь вперед, любой получил образец сценария, чтобы проверить это ... Я не делал, если инструкции в сценарии оболочки раньше.
Я подозреваю, что это было сделано много раз, поэтому любой совет приветствуется.
отлично, спасибо Жан-Карим, Я сделал это наоборот, и это сработало как шарм ... – Shedzoy