1. Приветствуем Вас на нашем закрытом форуме для складчиков сайта cmsheaven.org. Если Вы частный вебмастер, фрилансер, владелец малого или среднего бизнеса, представитель студии по разработке сайтов - будем рады видеть Вас в наших рядах экономных людей.
    Регистрация на форуме возможна только после вступления в складчину

Простой способ автоматического создания бекапа joomla сайтов с помощью Akeeba backup + Crontab

Тема в разделе "Инструкции и мануалы", создана пользователем Evgenmsk, 24 мар 2015.

  1. Evgenmsk

    Evgenmsk Опытный складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    40
    Симпатии:
    3
    Доброго времени суток.
    Недавно столкнулся с таким вопрос что бы все бэкапы делались по автомату и были у хостинг провайдера у меня на жестком диске и/или в облаке(не решено).
    Ну вот собственно весь путь.

    Организация Akeeba backup
    http://habrahabr.ru/post/205906/

    Организация ftp у себя на ПК
    http://it-explain.com/blog/sozdanie_ftp_servera_na_windows_7_dlja_novichkov/2012-02-05-4

    Теперь остается вопрос как сделать что бы скрипт который в последующем будет выполняться в crop забирал с хостинга бэк и отправлял по ftp на ПК

    Можно обойти ftp воспользовавшись инструкцией WebDav но mail.ru не дает возможности.
    А на майл диске 1Тб вместо 10Гб.
    Проще использовать облачное хранилище с поддержкой WebDAV, я использовал Яндекс диск. Вот так выглядит скрипт:

    Код:
    #!/bin/bash
    
    #переходим в каталог, в который складываются бекапы, сделанные Akeeba Backup
    cd site/backup
    
    for i in *.jpa;
    do
    # username:password - имя пользователя и пароль к аккаунту Яндекса
    # указанные в пути каталоги /backups/sites/ должны быть предварительно созданы в Яндекс диске
    curl -T ${i} --user username:password https://webdav.yandex.ru/backups/sites/
    # при желании можно удалять эти бекапы с веб сервера для экономии места командой rm
    rm ${i}
    done
    Но у меня не вышло.

    Если кому интересно присоединяемся. Может я иду по заведомо ложному пути поправьте. В последующем будет хорошая инструкция для автоматизированного бэкапа.
    #1
  2. kosas

    kosas Cкладчик

    Регистрация:
    25 фев 2015
    Сообщения:
    20
    Симпатии:
    9
    Привет. Что именно не получается? По моему, все достаточно просто. Я выгрузку на FTP настроил достаточно быстро.
    Определись куда будешь грузить?
    Последнее редактирование: 28 мар 2015
    #2
  3. Evgenmsk

    Evgenmsk Опытный складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    40
    Симпатии:
    3
    грузить буду на свой пк. ftp уже настроено. порты прокинуты. проблемы со скриптом который забирает бэк и отправляет мне.
    #3
  4. kosas

    kosas Cкладчик

    Регистрация:
    25 фев 2015
    Сообщения:
    20
    Симпатии:
    9
    Зачем Вам скрипт? У Вас нет платной версии Akeeba? Там же все уже штатно сделано.

    1. Создаете в Менеджере профилей профиль для генерации копии по FTP
    2. Настраиваете профиль и запоминаете его порядковый номер - ID[​IMG]
    /simle - это мой каталог на сервере для копий В Вашем случае это -
    /backups/sites/ (Начинайте от корня! т.е. если в /home/vasya/backups/sites/ то также и будет)
    Нажмите "Проверить FTP соединение", чтобы убедится в правильности настроек.
    3. Заходите по SSH на свой хостинг, к примеру, (с виртуальными хостингами точно не скажу, т.к. там учетки у Всех разные и права тоже и root пользователь скорее всего не у Вас)
    Код:
    ssh root@85.11.11.1
    Где root имя Вашего пользователя. Далее вводите пароль.
    root@211001:~# - эта строка скажет Вам о том, что Вы вошли.
    Если права позволяют, то попробуйте с ручника запустить резервное копирование. Для этого пишем в строке:
    Код:
    /usr/bin/php /var/www/SAIT.ru/cli/akeeba-backup.php --profile=4 
    4 - это ID Вашего профиля, который Вы делали.
    SAIT.ru - папка где лежит Ваш сайт (путь до каталога cli)
    /usr/bin/php - путь до исполняемой ссылки (У разных операционных систем он свой. Этот путь для Ubuntu или семейства Debian) уточните Вашу ОС у хостера.
    После нажатия Enter пойдет резервное копирование и пересылка на FTP.
    4. Теперь CRON - у разных хостеров по разному настраивается. У кого-то через админ панель... Вопросы к хостеру.
    Я настраиваю, по старинке, через командную строку:
    Подразумевается, что Вы все еще находитесь в доступе к серверу по ssh.
    Код:
    crontab -e 
    Потом может выдать выбор редактора - выбирайте NANO (Напишите номер пункта и нажмите Enter)
    Откроется файл курсором вниз опускаетесь и пишите следующую строку
    Код:
     00 01 * * *   /usr/bin/php /var/www/SAIT.ru/cli/akeeba-backup.php --profile=4 
    (00 01 * * *) означанает, что будет запускаться каждый день в 01.00 (час ночи) и еще ... учтите, что на сервере может быть иное время, т.е. не МСК
    http://help.ubuntu.ru/wiki/cron - здесь подробнее про команды крона можно почитать.
    Потом CTRL+O Далее Enter Далее CTRL + X - ВСЕ!!!! В ssh строке пишите - exit далее Enter
    Последнее редактирование: 31 мар 2015
    #4
    WarriorS и Evgenmsk нравится это.
  5. Evgenmsk

    Evgenmsk Опытный складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    40
    Симпатии:
    3
    большое спасибо. будем пробовать.
    #5