Форум русской поддержки Joomla!® CMS
08.12.2016, 04:18:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Saving db and push to github

 (Прочитано 186 раз)
0 Пользователей и 1 Гость смотрят эту тему.
box
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 45



« : 10.11.2016, 11:40:13 »

Всем привет. Встречались возможно с таким расширением. База данных сейвится на сервере по таймеру в гит, либо при входе в админку и отправляется на гитхаб в репозиторий.  Или хотя бы без второй части, т.е без гита.
Записан
effrit
Группа развития
*****

Репутация: +731/-7
Online Online

Пол: Мужской
Сообщений: 6812


effrit.com


« Ответ #1 : 10.11.2016, 12:00:01 »

привет. есть отдельные плагины для бакапа бд
вот например
https://extensions.joomla.org/extensions/extension/access-a-security/site-security/lazydbbackup
или в поиске вбей backup - еще несколько найдешь похожих
но вообще можно скачать 1 файл adminer для работы с бд, это как phpMyAdmin, только без инсталяторов и не зависит от работы движка
« Последнее редактирование: 10.11.2016, 12:03:49 от effrit » Записан
box
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 45



« Ответ #2 : 10.11.2016, 12:18:09 »

привет. есть отдельные плагины для бакапа бд
вот например
https://extensions.joomla.org/extensions/extension/access-a-security/site-security/lazydbbackup
или в поиске вбей backup - еще несколько найдешь похожих
но вообще можно скачать 1 файл adminer для работы с бд, это как phpMyAdmin, только без инсталяторов и не зависит от работы движка
Благодарю. Вариант с емайл в lazydbbackup то же хорошее решение. А с гитом ничего подобного не юзали?
Записан
effrit
Группа развития
*****

Репутация: +731/-7
Online Online

Пол: Мужской
Сообщений: 6812


effrit.com


« Ответ #3 : 10.11.2016, 12:23:11 »

не сталкивался. вообще не доверяю автоматике, если честно, поэтому руками бакап делаю, а автомат обычно и так происходит силами хостера, этого хватает.
Записан
buyanov
Осваиваюсь на форуме
***

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 150


Сайты 74


« Ответ #4 : 10.11.2016, 12:42:35 »

Привет
Все что касается бэкапов лучше делать по крону, а в MySQL есть прекрасная утилита mysql-dump
Могу скинуть примерчик коим сам пользуюсь =)
Записан
box
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 45



« Ответ #5 : 10.11.2016, 13:55:38 »

Привет
Все что касается бэкапов лучше делать по крону, а в MySQL есть прекрасная утилита mysql-dump
Могу скинуть примерчик коим сам пользуюсь =)
Да было бы замечательно.
Записан
buyanov
Осваиваюсь на форуме
***

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 150


Сайты 74


« Ответ #6 : 10.11.2016, 20: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, 21:00:52 от buyanov » Записан
box
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 45



« Ответ #7 : 11.11.2016, 11:23:29 »

Благодарю. Очень информативно.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7537


Разраблю понемногу


« Ответ #8 : 11.11.2016, 11:47:14 »

У меня на серваке стоит готовый sh скрипт для бэкапа баз. Еслим не забуду, выложу сюда. Очень полезный - спасал не раз Wink

Есть ещё вот такой сприптик.
« Последнее редактирование: 11.11.2016, 11:50:57 от b2z » Записан
box
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 45



« Ответ #9 : 11.11.2016, 15:01:35 »

У меня на серваке стоит готовый sh скрипт для бэкапа баз. Еслим не забуду, выложу сюда. Очень полезный - спасал не раз Wink

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

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7537


Разраблю понемногу


« Ответ #10 : 11.11.2016, 17:04:42 »

А что насчет гита? Разве вам никогда не хотелось хранить бэкапы в удаленном репозитории, центролизованно.
А что мешает сделать push? Если у Вас все бэкапы в папке, которая под гитом:
Код
git add .
git commit -m 'Backup created'
git push origin master
Записан
AlexeyGal
Давно я тут
****

Репутация: +25/-8
Offline Offline

Пол: Мужской
Сообщений: 259



« Ответ #11 : 11.11.2016, 19:27:53 »

зачем хранить бекап в GIT если можно бекапы хранить в Яндекс диске или любом другом по протоколу WebDav?
https://github.com/search?l=PHP&q=webdav+backup&type=Repositories&utf8=✓
Записан
box
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 45



« Ответ #12 : 11.11.2016, 21:30:52 »

зачем хранить бекап в GIT если можно бекапы хранить в Яндекс диске или любом другом по протоколу WebDav?
https://github.com/search?l=PHP&q=webdav+backup&type=Repositories&utf8=✓
Тоже как вариант, и очень годный. Возьму на заметку.
п.с. люблю гит
Записан
AlexeyGal
Давно я тут
****

Репутация: +25/-8
Offline Offline

Пол: Мужской
Сообщений: 259



« Ответ #13 : 12.11.2016, 00:04:57 »

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

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

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

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

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #14 : 12.11.2016, 00:48:19 »

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

а вы не пользуйтесь дешёвыми хостингами.
и если в планах (я не про вас точно) "гитхабиться", поверьте, вы уж точно будете пользоваться не выше сказаннами.
Записан
AlexeyGal
Давно я тут
****

Репутация: +25/-8
Offline Offline

Пол: Мужской
Сообщений: 259



« Ответ #15 : 12.11.2016, 00:55:16 »

а вы не пользуйтесь дешёвыми хостингами.
и если в планах (я не про вас точно) "гитхабиться", поверьте, вы уж точно будете пользоваться не выше сказаннами.

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

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

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #16 : 12.11.2016, 01:04:03 »

Я был уверен, что вы мне ответите. Без комментариев.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet