Простой бекап сайтов и БД

// Апрель 10th, 2013 // Системное администрирование

Drive-Backup-iconВ этом посте расскажу, как можно очень просто наладить систему резервного копирования файлов сайта и баз данных. Наверняка многие из вас сталкивались с проблемой организации резервного копирования сайтов. Сейчас раскажу об одном из вариантов организации такой системы.

Сейчас на рынке присутствует множество систем резервного копирования и восстановления, начиная от серьезных корпоративных решений от именитых фирм, кончая скриптами на bash, сделанными на коленке местными админами. В этой статье я рассскажу об одном простом, но малоизвестном способе.

Задача

Необходимо раз в N дней делать резверную копию всех баз данных сервера и файлов указанных сайтов.

Решение

Если на сервере стоит Webmin, то можно сделать следующее. Для бекапа баз данных заходим в модуль Servers -> MySQL Database Server. А внизу там есть кнопка «Backup databases».

webmin-db1

Потом видим окошко выбора времени бекапа в планировщике.

webmin-db-2

Указываем время и нажимаем кнопку. Отлично, теперь нам надо забекапить файлы. Идём в System -> Filesystem backup и добавляем туда правила для бекапа сайтов и папки куда сбекапились базы.

backup-webmin-fs

А самое интересное, что в настройках мы можем указать, чтобы webmin после создания архива сам закачивал их по FTP на другой сервер. Можно взять хостинг для бекапов (много места на диске + FTP) и складировать бекапы там. Единственное, на бекап сервере можно прописать в крон (после того, как с основного уже точно сольются все бекапы) вот такой скрипт:

rotate.sh

#!/bin/bash
OUTPUT=~/backups/archive/$(date +%Y-%m-%d)/
BUDIR=~/backups/current/*
echo "Starting backup of directory $BUDIR to file $OUTPUT"
mkdir $OUTPUT
cp -r -u -x -v $BUDIR $OUTPUT

Ну вот и всё, бекапы сами делаются и сами заливаются на бекап-сервер!

Ссылки

http://www.mini-server.ru/server/web/41-webmin-backup

Share

Спасибо!


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


12 Responses to “Простой бекап сайтов и БД”

  1. Александр:

    Я обычно делал sh файлик и запускал его по крону:

    set `date`
    Dat=»${6}${2}${3}»

    mysqldump -u uname -pPASSWORD —databases dbname —add-drop-table > /home/alex/backups/dbdump_tmp.sql

    tar -c -z -f > /home/alex/backups/dbdump_${Dat}.sql.tgz > /home/alex/backups/dbdump_tmp.sql

    rm -f > /home/alex/backups/dbdump_tmp.sql

    • google.com Андрей Токарчук:

      У меня был такой, а потом я его потерял и случайно набрел в webmin на эту штуку :-)

  2. А я надеялся, что будет способ бекапа со всяческих хостингов, где никак не поставить webmin :(

    • google.com Андрей Токарчук:

      Ну на хостингах, как правило, уже есть свой бекап :-)

      • Спокойней будет ещё иметь их и у себя на сервере домашнем :)
        Нет идей как такое организовать?

        • google.com Андрей Токарчук:

          Дык, точно так же. Ставь дома сервер на Linux — и вперед!)

          • Дак дома итак стоит сервер с linux (с убунтой, если точнее) :)
            как вот только сделать так, чтобы этот сервер выкачивал бекапы сайтов, вот что не знаю как сделать :(

          • google.com Андрей Токарчук:

            Ну вроде как Bacula это может. Я её даже поставил уже, вот только пока настроить никак не могу. Может ты в курсе, есть где толковый мануал?

          • Я сам с BackupPC пытаюсь разобраться, вроде дельная штука. Предлагаю усилия объединить)

          • google.com Андрей Токарчук:

            Давай, я только за :-) А он идёт под Linux?

          • Идёт) только я уже просто с помощью rsync всё сделал, куда проще и удобней :)

  3. google.com Андрей Токарчук:

    Вот кстати ещё один вариант с использованием backup-manager http://mxl4.net/blog/2011/12/nastrojka-rezervnogo-kopirovaniya-s-ispolzovaniem-backup-manager-gpg-i-dropbox-v-debian.html

Комментировать