Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 343 Просмотров
*

box

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

effrit

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

box

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

effrit

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

buyanov

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

box

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

buyanov

  • Осваиваюсь на форуме
  • ***
  • 178
  • 26
  • Сайты 74
Re: Saving db and push to github
« Ответ #6 : 10.11.2016, 21: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, 22:00:52 от buyanov »
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

box

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

b2z

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

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

box

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

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

b2z

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

AlexeyGal

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

box

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

AlexeyGal

  • Давно я тут
  • ****
  • 328
  • 23
Re: Saving db and push to github
« Ответ #13 : 12.11.2016, 01:04:57 »
Тоже как вариант, и очень годный. Возьму на заметку.
п.с. люблю гит

На мой взгляд заливать бекапы на Яндекс диск/google диск/dropbox проще чем на GIT

Я пробовал этот вариант: https://github.com/mainboarder/WebDAV-Backup вполне работает.
- делает бекап сайта и базы данных в архиве и заливает на yandex.
- при этом это обычный PHP, можно использовать на любом хостинге по CRON
- Можно настроить синхронизацию с домашним хранилищем на windows/linux

а для  GIT необходимо поставить сам GIT на сервер и нужен sh, что дешевые хостинги не предоставляют.
*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Saving db and push to github
« Ответ #14 : 12.11.2016, 01:48:19 »
а для  GIT необходимо поставить сам GIT на сервер и нужен sh, что дешевые хостинги не предоставляют.

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

AlexeyGal

  • Давно я тут
  • ****
  • 328
  • 23
Re: Saving db and push to github
« Ответ #15 : 12.11.2016, 01:55:16 »
а вы не пользуйтесь дешёвыми хостингами.
и если в планах (я не про вас точно) "гитхабиться", поверьте, вы уж точно будете пользоваться не выше сказаннами.

GIT это прежде всего Система Контроля Версий, а не хранилище бекапов.

Впринципе можно и гвозди мобилкой забивать, некоторым это вполне удобно, но я использую молоток для забивания гвоздей.
*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Re: Saving db and push to github
« Ответ #16 : 12.11.2016, 02:04:03 »
Я был уверен, что вы мне ответите. Без комментариев.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями