0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 404 Просмотров
*

box

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Saving db and push to github
« : 10.11.2016, 10:40:13 »
Всем привет. Встречались возможно с таким расширением. База данных сейвится на сервере по таймеру в гит, либо при входе в админку и отправляется на гитхаб в репозиторий.  Или хотя бы без второй части, т.е без гита.
*

effrit

  • Легенда
  • 8456
  • 941 / 8
  • effrit.com
Re: Saving db and push to github
« Ответ #1 : 10.11.2016, 11:00:01 »
привет. есть отдельные плагины для бакапа бд
вот например
https://extensions.joomla.org/extensions/extension/access-a-security/site-security/lazydbbackup
или в поиске вбей backup - еще несколько найдешь похожих
но вообще можно скачать 1 файл adminer для работы с бд, это как phpMyAdmin, только без инсталяторов и не зависит от работы движка
*

box

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: Saving db and push to github
« Ответ #2 : 10.11.2016, 11:18:09 »
привет. есть отдельные плагины для бакапа бд
вот например
https://extensions.joomla.org/extensions/extension/access-a-security/site-security/lazydbbackup
или в поиске вбей backup - еще несколько найдешь похожих
но вообще можно скачать 1 файл adminer для работы с бд, это как phpMyAdmin, только без инсталяторов и не зависит от работы движка
Благодарю. Вариант с емайл в lazydbbackup то же хорошее решение. А с гитом ничего подобного не юзали?
*

effrit

  • Легенда
  • 8456
  • 941 / 8
  • effrit.com
Re: Saving db and push to github
« Ответ #3 : 10.11.2016, 11:23:11 »
не сталкивался. вообще не доверяю автоматике, если честно, поэтому руками бакап делаю, а автомат обычно и так происходит силами хостера, этого хватает.
*

buyanov

  • Захожу иногда
  • 179
  • 27 / 1
  • Сайты 74
Re: Saving db and push to github
« Ответ #4 : 10.11.2016, 11:42:35 »
Привет
Все что касается бэкапов лучше делать по крону, а в MySQL есть прекрасная утилита mysql-dump
Могу скинуть примерчик коим сам пользуюсь =)
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

box

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: Saving db and push to github
« Ответ #5 : 10.11.2016, 12:55:38 »
Привет
Все что касается бэкапов лучше делать по крону, а в MySQL есть прекрасная утилита mysql-dump
Могу скинуть примерчик коим сам пользуюсь =)
Да было бы замечательно.
*

buyanov

  • Захожу иногда
  • 179
  • 27 / 1
  • Сайты 74
Re: Saving db and push to github
« Ответ #6 : 10.11.2016, 19:43:28 »
Самое простое если у нас только один сайт:

1. Заходим по ssh на сервак (желательно не под root)
2. Создаем папки для бэкапов у меня она такая, можно где угодно ее создать, главное чтобы веб-серверу не доступна была, а то их можно будет скачать =)

mkdir -p /var/www/backups/mysql

3. Выполняем

crontab -e

(должен открыться редактор)

4. В самый конец добавляем следующие строки
Код
# run backup at 12:00 a.m every week
0       0       *       *       1       tar -zcf /var/www/backups/dump-$(date +\%d-\%m-\%Y).tgz /var/www/html/example.ru/*  && echo "Backup successful: $(date)"
# run backup at 12:30 a.m every day
30      0       *       *       *       mysqldump DBNAME -u DBUSER -pDBPASSWORD | gzip > /var/www/backups/mysql/backup-`date +\%Y-\%m-\%d`.sql.gz && echo "DB Backup successful: $(date)"

5. Сохраняем результат (для VIM нужно набрать :wq) для nano вроде ctrl+x нажать (зависит от стандартного редактора)

Первая команда создает архив всех файлов (если не нужна то можно не юзать)
Вот такая конструкция

$(date +\%d-\%m-\%Y).tgz

позволяет нам создавать файл в названии которого будет текущая дата dump-10-11-2016.tgz
Если tar отработала без ошибок то выполнится то что указано после &&
Если запустить прям в консоли то все должно сработать и эхо будет видно, в случае крона результат отправляется на почту текстовым сообщением

Вторая команда это вызов mysqldump, если выполнить mysqldump DBNAME -u DBUSER -pDBPASSWORD (Важно между -p и паролем нет пробела!) то результат будет выведен прямо в консоль =), в нашем случае мы конвейером отправляем сразу в gzip и пишем в файл уже сжатый sql

Ах, да вот еще
странные на первый взгляд цифры перед командой

мин    часы  день месяца    месяц    день недели
30      0       *                     *           *

Звездочка значит каждый день(недели/месяца) файлы я сохраняю в полночь каждый понедельник — ставлю 1

UPD:
Важно: Через какое-то время можно очень сильно засорить хостинг =) поэтому рекомендую дописать такую команду

find /var/www/backups/ -type f -name "*.tgz" -not -ctime -30 -delete

она найдет все архивы старше 30 дней и удалит запускать можно раз в месяц ну или также раз в неделю

UPD2:
У себя на физическом сервере чтобы одни и те же файлы не бэкапить, но в тоже время иметь ежедневные дампы за длительный срок (2-3 года) я использую утилиту zbackup очень крутая вещь, в плане экономии места на серваке очень удобно если на сервере 100+ сайтов и все на Joomla =) то можно сильно сэкономить за счет того что все файлы самой CMS во всех сайтах одинаковы, zbackup эту оптимизацию делает самостоятельно!
« Последнее редактирование: 10.11.2016, 20:00:52 от buyanov »
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

box

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: Saving db and push to github
« Ответ #7 : 11.11.2016, 10:23:29 »
Благодарю. Очень информативно.
*

b2z

  • Глобальный модератор
  • 6943
  • 754 / 0
  • Разраблю понемногу
Re: Saving db and push to github
« Ответ #8 : 11.11.2016, 10:47:14 »
У меня на серваке стоит готовый sh скрипт для бэкапа баз. Еслим не забуду, выложу сюда. Очень полезный - спасал не раз ;)

Есть ещё вот такой сприптик.
*

box

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: Saving db and push to github
« Ответ #9 : 11.11.2016, 14:01:35 »
У меня на серваке стоит готовый sh скрипт для бэкапа баз. Еслим не забуду, выложу сюда. Очень полезный - спасал не раз ;)

Есть ещё вот такой сприптик.
А что насчет гита? Разве вам никогда не хотелось хранить бэкапы в удаленном репозитории, центролизованно.
*

b2z

  • Глобальный модератор
  • 6943
  • 754 / 0
  • Разраблю понемногу
Re: Saving db and push to github
« Ответ #10 : 11.11.2016, 16:04:42 »
А что насчет гита? Разве вам никогда не хотелось хранить бэкапы в удаленном репозитории, центролизованно.
А что мешает сделать push? Если у Вас все бэкапы в папке, которая под гитом:
Код: php
git add .
git commit -m 'Backup created'
git push origin master
*

box

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: Saving db and push to github
« Ответ #11 : 11.11.2016, 20:30:52 »
зачем хранить бекап в GIT если можно бекапы хранить в Яндекс диске или любом другом по протоколу WebDav?
https://github.com/search?l=PHP&q=webdav+backup&type=Repositories&utf8=✓
Тоже как вариант, и очень годный. Возьму на заметку.
п.с. люблю гит
*

vipiusss

  • Гуру
  • 5748
  • 343 / 10
  • Скайп: renor_
Re: Saving db and push to github
« Ответ #12 : 11.11.2016, 23:48:19 »
а для  GIT необходимо поставить сам GIT на сервер и нужен sh, что дешевые хостинги не предоставляют.

а вы не пользуйтесь дешёвыми хостингами.
и если в планах (я не про вас точно) "гитхабиться", поверьте, вы уж точно будете пользоваться не выше сказаннами.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

vipiusss

  • Гуру
  • 5748
  • 343 / 10
  • Скайп: renor_
Re: Saving db and push to github
« Ответ #13 : 12.11.2016, 00:04:03 »
Я был уверен, что вы мне ответите. Без комментариев.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться