Простой бекап сайтов и БД
В этом посте расскажу, как можно очень просто наладить систему резервного копирования файлов сайта и баз данных. Наверняка многие из вас сталкивались с проблемой организации резервного копирования сайтов. Сейчас раскажу об одном из вариантов организации такой системы.
Сейчас на рынке присутствует множество систем резервного копирования и восстановления, начиная от серьезных корпоративных решений от именитых фирм, кончая скриптами на bash, сделанными на коленке местными админами. В этой статье я рассскажу об одном простом, но малоизвестном способе.
Задача
Необходимо раз в N дней делать резверную копию всех баз данных сервера и файлов указанных сайтов.
Решение
Если на сервере стоит Webmin, то можно сделать следующее. Для бекапа баз данных заходим в модуль Servers -> MySQL Database Server. А внизу там есть кнопка “Backup databases”.
Потом видим окошко выбора времени бекапа в планировщике.
Указываем время и нажимаем кнопку. Отлично, теперь нам надо забекапить файлы. Идём в System -> Filesystem backup и добавляем туда правила для бекапа сайтов и папки куда сбекапились базы.
А самое интересное, что в настройках мы можем указать, чтобы webmin после создания архива сам закачивал их по FTP на другой сервер. Можно взять хостинг для бекапов (много места на диске + FTP) и складировать бекапы там. Единственное, на бекап сервере можно прописать в крон (после того, как с основного уже точно сольются все бекапы) вот такой скрипт:
rotate.sh
1 2 3 4 5 6 | #!/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 |
Ну вот и всё, бекапы сами делаются и сами заливаются на бекап-сервер!
Я обычно делал 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
У меня был такой, а потом я его потерял и случайно набрел в webmin на эту штуку 🙂
А я надеялся, что будет способ бекапа со всяческих хостингов, где никак не поставить webmin 🙁
Ну на хостингах, как правило, уже есть свой бекап 🙂
Спокойней будет ещё иметь их и у себя на сервере домашнем 🙂
Нет идей как такое организовать?
Дык, точно так же. Ставь дома сервер на Linux – и вперед!)
Дак дома итак стоит сервер с linux (с убунтой, если точнее) 🙂
как вот только сделать так, чтобы этот сервер выкачивал бекапы сайтов, вот что не знаю как сделать 🙁
Ну вроде как Bacula это может. Я её даже поставил уже, вот только пока настроить никак не могу. Может ты в курсе, есть где толковый мануал?
Я сам с BackupPC пытаюсь разобраться, вроде дельная штука. Предлагаю усилия объединить)
Давай, я только за 🙂 А он идёт под Linux?
Идёт) только я уже просто с помощью rsync всё сделал, куда проще и удобней 🙂
Вот кстати ещё один вариант с использованием backup-manager http://mxl4.net/blog/2011/12/nastrojka-rezervnogo-kopirovaniya-s-ispolzovaniem-backup-manager-gpg-i-dropbox-v-debian.html