Всем привет. Давно являюсь читателем хабра, но только лишь читателем. Инвайта нет, а нужен то он по сути только для того, чтобы писать комментарии. Хотелось бы конечно получить его, но не было мыслей, о чем же написать. И вот наконец появилась тема.
Хочу описать процесс полностью автоматического создания резервных копий сайтов на CMS Joomla с помощью компонента Akeeba backup, причем его бесплатной версии.
Знаю, что джумлу на хабре не особо жалуют, но думаю все же найдутсяе, которые создают сайты с её помощью.
В качестве примера буду использовать Joomla 2.5.16
Первым делом нам нужно установить компонент Akeeba Backup. Скачать его можно отсюда: www.akeebabackup.com/downloads/akeeba-backup.html
Мой сайт находится на
Первым делом нам необходимо активировать возможность делать бекап не только из панели Joomla. Для этого переходим в Компоненты -> Akeeba backup -> Component Parameters. Нужно установить переключатель на ДА в свойстве Enable front-end and remote backup. Указать секретное слово, которое будет использоваться для генерации ссылки, опционально можно включить уведомления по e-mail о выполнении бекапа.
Теперь необходимо написать небольшой shell скрипт, который будет запускаться планировщиком Crontab.
Выглядит он так:
#!/bin/bash
wget --max-redirect=10000 "http://<Адрес сайта>/index.php?option=com_akeeba&view=backup&key=<Секретное слово, которое мы указывали в настройках>"
Данный скрипт осуществляет бекап нашего сайта.
После чего необходимо указать планировщику Crontab периодичность бекапа. Для
Пишем название нашего задания, тип файла: SH сценарий, указываем путь до файла на нашем сервере (естественно файл со скриптом должен быть заблаговременно залит на сервер), ну и выбираем нужную нам периодичность бекапа.
Если у вас есть полный доступ к серверу, на котором располагается сайт, то нужно занести строчку в конфиг crontab, по умолчанию расположенный в /etc/ с именем crontab
Всё, теперь наши бекапы будут делаться в автоматическом режиме по расписанию и складываться в каталог, прописанный в настройках компонента Akeeba Backup. По умолчанию: administrator/components/com_akeeba/backup/
В дальнейшем планирую расширить bash скрипт, чтобы он удалял устаревшие бекапы и также переносил эти файлы на дропбокс. Если есть какие-то мысли, как это сделать, прошу поделиться в комментариях.
Этот набор включает в себя следующие файлы:
- jquery.min.js-библиотека Jquery
- json2.min.js-библиотека Json
- kickstart.php-PHP скрипт, выполняющий восстановление
- ru-RU.kickstart.ini-язык локализации
Необходимо поместить эти файлы на сервер и туда же скинуть файл с бекапом, который имеет расширение jpa.
Далее просто пройти по адресу: http://<Ваш сайт>/kickstart.php и следовать инструкциям.
Если вы восстанавливаете сайт на том же сервере, где он и был, то часть настроек подтянется автоматически, иначе нужно будет указать новые настройки для корректного формирования конфига: путь к БД, имя БД, имя пользователя БД и тд.
После выполнения всех инструкций, система восстановит сайт. И никаких танцев с бубном с перезаливкой руками всех файлов(особенно противно это делать по FTP), а также ручной правкой конфигурационного файла configuration.php в корне сайта.
Автор: makc9I