Задать вопрос
@procode
Разработчик

Я хочу автоматизировать процесс создания дампа одной таблицы из MySQL и заливки его на GitHub — какие шаги нужны?

сабж )

Мне нужно в среде Ubuntu Server 18.04:

1. Раз в сутки по cron, либо по факту апдейта MySQL-таблицы делать ее резервную копию (желательно в формате JSON).
2. Размещать ее в виде нового коммита в репозиторий на GitHub.

Как это сделать пошагово?

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

Я знаком с PHP - мне ее хватит, или непременно нужно знать скрипты оболочки?
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 2
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
1. table to json
2. git add ... git commit ...
?
Ответ написан
erge
@erge
Примус починяю
MySQL 5.7 и выше уже умеет JSON (google)

как пример:

CREATE TABLE employees(id INT PRIMARY KEY, name VARCHAR(45), age INT);
INSERT INTO employees(id, name, age) VALUES (1,'John', 34);
INSERT INTO employees(id, name, age) VALUES (2,'Mary', 40);
INSERT INTO employees(id, name, age) VALUES (3,'Mike', 44);


на SQL Запрос такой будет:
SELECT JSON_PRETTY(JSON_ARRAYAGG(
 JSON_OBJECT("id", id, "name", name, "age", age)
 )) json
 FROM employees


результат:
[
  {
    "id": 1,
    "age": 34,
    "name": "John"
  },
  {
    "id": 2,
    "age": 40,
    "name": "Mary"
  },
  {
    "id": 3,
    "age": 44,
    "name": "Mike"
  }
]


см. пример на dbfiddle

на PHP фетчите запрос, сохраняете в файл в репозиторий.

затем через shell_exec
выполняете
git add ...
git commit
git push

PS: но имхо проще на bash'e написать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@trooper
А реплика не решит Ваш вопрос? https://ruhighload.com/%D0%9A%D0%B0%D0%BA+%D0%BD%D...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы