Бэкап базы данных по расписанию.

1635
С удивлением обнаружил, что не все знают, как сохранять бэкапы базы данных.
Это требует знаний команд bash и умения работать в консоли сервера.
Для облегчения и автоматизации данного процесса сделал утилиту, которая делает бэкапы базы по расписанию планировщика.
Она представляет из себя один хук \system\controllers\backup\hooks\cron_backup.php, который стартует по хрону или вручную из планировщика в админке. Он создает папку, название которой должен придумать админ, создает бэкап базы данных и пакует его в gz.
После этого удаляются архивы старше заданного времени.
Перед запуском задания "Бэкап базы" нужно зайти в компоненты, выбрать компонент "Бэкап базы данных", задать там имя папки с архивами, срок хранения архивов и нажать "Сохранить".

Если стартовать задание планировщика вручную - после выполнения скрипта на экран будут выведены свободное место на диске, размер базы данных, размер получившегося архива и общий размер папки с архивами:

Бэкап базы данных по расписанию.

Скачать компонент "Бэкап базы данных:

Скачать
Поиск и перенос неиспользуемых картинок в Upload | Редактор с настройками
Комментарии (38)
Олег Васильевич я 25 марта 2018 в 17:23 +1
Ris:
С удивлением обнаружил
Ваше удивление вызывает удивление.
Без удивления, что вы это сделали: спасибо! :тут должен был бы быть смайлик изображающий восхищение:
Ris 25 марта 2018 в 18:23 0
Все время подмывает сделать глобальный компонент "Уход за сайтом" в который свести вместе все эти очистители, удалители, бэкаперы.
Еще вот это можно туда добавить, если разработчик согласится:
http://addons.instantcms.ru/addons/icontroller.html
http://addons.instantcms.ru/addons/itemp.html
А вот это разработчик не согласится. laugh
http://addons.instantcms.ru/addons/hooker.html
letsgo 25 марта 2018 в 17:44 0
Хорошая нужная штука.+++
Rainbow 25 марта 2018 в 18:33 0
Спасибо. Мелочь, а удобно))
+
Олег Васильевич я 25 марта 2018 в 18:56 0
Тут многие скажут, что эта "мелочь" должна быть в коробке. И большинство из "многих", будет по своему право.
Alex 25 марта 2018 в 18:36 0
О! удивительный компонент v Спасибо
Alex 25 марта 2018 в 18:52 0
А почему ваших компонентов не видно в "Каталоге дополнений"? через некоторое время многие их просто не найдут.
Ris 25 марта 2018 в 18:56 0
Такова стратегия. Сначала обкатаем все вместе, найдем баги, а потом в каталог.
Polzovinst 25 марта 2018 в 18:58 0
На 2.8.2 установился через панель, всё хорошо.
На 2.6.1 устанавливал через панель. После нажатия кнопки "Продолжить" Открывается белая страница с "503 Service Unavailable".
Хотя на сервере файлы появились, но в компонентах "Бэкап базы" нет. Пытался после названия сайта со слэшем поставить admin/controllers/edit/backup/options , выдаёт 404 ошибку.
Ris 25 марта 2018 в 18:59 0
Значит в 2.6.1 другая структура таблицы контроллеров.
Сейчас исследую...
Polzovinst 25 марта 2018 в 19:00 0
На 2.6.0 (а не 2.6.1)
Polzovinst 25 марта 2018 в 19:08 0
Да уж, компонент обещает быть шикарным. Теперь даже не нужны автоматические бэкапы раз в сутки предоставляемые хостером.
Alex 25 марта 2018 в 19:11 0
Поставил, проверил правда на 2.9.0, всё замечательно работает Polzovinst, прям как вы хотели.
Polzovinst 25 марта 2018 в 19:18 0
Ага, даже на сервере крон не надо настраивать. Единственное, я не туда дул. Понял по результатам всех объяснений мне. Вот сейчас http://instantcms.ru/forum/thread29343-4.html#285707 Ris объясняет как раз тот самый момент как быть когда от глюков через бэкап избавился, но сегодняшний контент надо восстановить. Не в космос летать, но пока не сделаешь сам хотя бы раз, полностью не поймёшь.
Alekskrug 25 марта 2018 в 20:52 +1
Было бы хорошо если он делал бэкап всего сайта и заливал его на сторонний сервер, например на Яндекс диск или ещё куда нибудь
vikont 25 марта 2018 в 21:06 0
Поддерживаю! Для бекапов это очень полезно!
У меня был случай, когда помогли убить весь ВПС, причем на ровном месте... Если бы не бекапы на ФТП то я же был бы "безработный" smile
Alex 25 марта 2018 в 21:35 0
Без бекапов это не жизнь crazy
Ris 25 марта 2018 в 21:40 0
Но это уже имеется в различных веб-панелях.
В Весте, например, чуть зазевался - готово три архива всего и места на диске нет.
Polzovinst 25 марта 2018 в 23:24 0
На 2.6.0 пока не перезаливали?
Ris 25 марта 2018 в 23:25 0
Пока нет. Сейчас гляну что там.
Ris 25 марта 2018 в 23:41 0
Перезалил, Попробуйте.
Polzovinst 25 марта 2018 в 23:55 0
Почему то я не сомневался, что всё получится)) Хорошо, когда начинаешь верить некоторым людям лучше чем себе)) На 2.6.0. работает!
Polzovinst 26 марта 2018 в 04:41 0
Яж говорю... Маленькая у меня чего-то база, и сайт.
Представляю, но не представляю сайт с базой 1гб почти.
Alex 26 марта 2018 в 10:13 0
БД вырастет, только поливать надо laugh
Polzovinst 26 марта 2018 в 04:42 0
Кстати, насчёт того что я сказал выше, что крон не нужно настраивать это я попутал с временем хранения в днях. Получается, я так понял, если необходимо запускать создание копии по времени, по крону, то, само собой, нужно настроить крон на сервере. Ясно.
IceBreaker 26 марта 2018 в 17:53 +1
База это хорошо, а файлы и папки еще лучше, было бы круто выбрать папки галочками например всё кроме UPLOAD и скинуть туда-то
А то АПЛОАД у меня 200гб, скидывать столько часто не надо, если только на соседний винт
IceBreaker 26 марта 2018 в 17:54 0
Кстати КУПЛЮ
Alekskrug 26 марта 2018 в 18:07 0
Я тоже не против купить
Ris 26 марта 2018 в 18:39 0
Но упаковать выбранные файлы и каталоги можно в любой веб-панели.
Если в панели нет файлового менеджера - можно упаковать в midnight commander
IceBreaker 26 марта 2018 в 19:13 +1
Не не не... У меня во-первых свой сервер, и панели у меня нет, а в MC заходить команды вспоминать, да и опять же это надо вспомнить об этом, а тут автоматом - хлоп хлоп архив за месяц есть smile я Юзверь, мне надо вот чтобы у меня была моя панель в админке :)
yury 26 марта 2018 в 22:50 0
Есть возможность указать сторонний сервер, например облако mail.ru для хранения?
Ris 26 марта 2018 в 23:17 0
Нет
@Elv 28 марта 2018 в 10:36 0
Плохо (
yury 28 марта 2018 в 19:28 0
да, было бы отлично, если можно было бы назначать например яндекс диск или mail диск.
всеже хостинг на ssd дисках недешевое удовольствие)
@Elv 28 марта 2018 в 11:00 0
А где бэкап на сервере там и контент.
Rainbow 5 апреля 2018 в 12:34 +1
Ris имхо надо что бы сразу после его установки крон задача была не активна. Иначе пока настраиваешь папку и дни, он уже выполняет задачу и создает папку прописанную по умолчанию.

Но в принципе это мелочь, его не каждый день ставить...
Dobriu 6 мая 2018 в 10:51 0
Ris 6 мая 2018 в 11:02 0