Comments 45
Спасибо, занес на всякий случай в закладки. Но если честно, то такое интимное дело как бекап, я люблю делать сам. Что бы потом головой об стенку не биться из за какой нибудь баги :) Если уж с бекапами что то будет не так, то пусть это будет целиком и полностью моя вина. Но это исключительно MyWay :)
+6
UFO just landed and posted this here
А где собственно настройка сервера? Тема ведь называется «Настройка резервного копирования Linux-севера за 5 минут». Пример в студию.
0
Все настройки хранятся в файле /etc/backup-manager.conf, вот основные его параметры:
Это самые основные настройки, в самом конфиге есть еще пара десятков параметров, все они подробно прокомментированы.
# Папка, в которой архивы будут складываться локально
export BM_REPOSITORY_ROOT="/var/archives"
# Используемые методы резервного копирования
export BM_ARCHIVE_METHOD="tarball-incremental mysql svn"
# Далее для каждого из выбранных выше методов резервного копирования задаем настройки
# Список папок, содержимое которых будем бэкапить
BM_TARBALL_TARGETS[0]="/etc"
BM_TARBALL_TARGETS[1]="/boot"
BM_TARBALL_TARGETS[2]="/var/www"
export BM_TARBALL_TARGETS
# Список исключений, то есть файлов в перечисленных выше папках, которые бэкапить не нужно
export BM_TARBALL_BLACKLIST="/dev /sys /proc /tmp *imagecache*"
# Теперь указываем как часто делать мастер-бэкап и инкрементный бэкап
export BM_TARBALLINC_MASTERDATETYPE="weekly"
export BM_TARBALLINC_MASTERDATEVALUE="1"
# Для бэкапа MySQL баз данных указываем какие базы бэкапить и параметры mysql-юзера
export BM_MYSQL_DATABASES="__ALL__"
export BM_MYSQL_ADMINLOGIN="user"
export BM_MYSQL_ADMINPASS="1234"
# Для бэкапа subversion-репозитория указываем путь к хранилищу
export BM_SVN_REPOSITORIES="/var/repositories"
# Выбираем метод аплоада созданного бэкапа а удаленный сервер
# (еще есть варианты ftp, ssh, ssh-gpg, rsync)
export BM_UPLOAD_METHOD="s3"
# Для копирования копий на Amazon S3 задаем имя корзины, access key и secret key
export BM_UPLOAD_S3_DESTINATION="basket-name"
export BM_UPLOAD_S3_ACCESS_KEY="ABC123"
export BM_UPLOAD_S3_SECRET_KEY="DEF456"
Это самые основные настройки, в самом конфиге есть еще пара десятков параметров, все они подробно прокомментированы.
+1
«Linux-север» — пингвины освоили второй полюс? )
+7
Хмм, на первый взгляд достаточно удобно и просто: выбрал что, как и куда — и оно уже там.
0
Автоматизация сбора данных для бэкапа — задача отличная, но бездумно автоматически писать бэкапы и спать спокойно можно будет только после проверки того, что забэкапилось. имхо.
+3
UFO just landed and posted this here
Возможно я не совсем внятно просто написал, но суть та же. Можно написать свои скрипты или взять готовые, только все это будет бесполезно, если не проверять, что эти скрипты набэкапили.
+1
В случае если ты сам себе хостер приходится или самому писать скрипты, или искать готовое решение. Эти скрипты я протестировал и убедился в их надежности, но, разумеется, минимум раз в неделю необходимо будет проверять корректно ли делаются копии.
0
имхается мне что в современном мире актуальнее сервера виртуализировать и, соответственно, оставлять бэкап на совести средств виртуализации
0
другой вариант: github.com/astrails/safe
так же конфигурируется за 5 минут.
поддержка:
multiple archives of: mysql, postgresql, files (with tar), and subversion (svndump)
backup to: local, sftp, s3
+ encrypt with gnupg (key or password)
+ backup rotation
так же конфигурируется за 5 минут.
поддержка:
multiple archives of: mysql, postgresql, files (with tar), and subversion (svndump)
backup to: local, sftp, s3
+ encrypt with gnupg (key or password)
+ backup rotation
+3
А теперь — самое главное! Есть ли у этого ПО какие-нибудь средства для того чтобы в считанные секунды после сбоя (или хотя бы минуты) восстановить из бекапа данные обратно в систему. Или опять все ручками самостоятельно искать и заливать?
+3
Очевидно, что ответ нет. Не того это класса ПО. Но достать бэкапы и развернуть их на новом сервере можно будет за час, максимум два (это если а) есть этот самый новый сервер и б) настроены внешние системы мониторинга и падение сервера будет замечено сразу, а не через полдня). Думаю для нужд большинства разработчиков это приемлемый даунтайм. В ином случае, заботиться нужно не о резервном копировании, а о повышении отказоустойчивости системы, а это уже совсем другая задача.
+1
Если использовать формат dar, то теоретически можно — для него есть специальные программы просмотра архивов и можно рукама или скриптом, пользуясь только dar, выбрать нужные файлы за нужную дату. Для tar — скорее всего нет.
Но речь о секундах или минутах может идти только при бесконечно выской ширине канала от бэкапа до сервера.
Но речь о секундах или минутах может идти только при бесконечно выской ширине канала от бэкапа до сервера.
0
Настраивал по этой статье несколько лет назад, и вот настал тот самый момент опробовать восстановление.
Оставлю здесь, так как пришлось немного покопаться чтобы подобрать нужные ключи:
tar --extract --gzip --directory /mnt/root --verbose --incremental --file hp-bin.20190901.master.tar.gz
tar --extract --gzip --directory /mnt/root --verbose --incremental --file hp-bin.20190908.tar.gz
…
tar --extract --gzip --directory /mnt/root --verbose --incremental --file hp-bin.20190915.tar.gz
Ну и так для всех бэкапированных директорий, начиная с наиболее свежего мастера и завершая последним инкрементом.
Предполагается, что в /mnt/root подключен новый диск, на который восстанавливается бэкап
Оставлю здесь, так как пришлось немного покопаться чтобы подобрать нужные ключи:
tar --extract --gzip --directory /mnt/root --verbose --incremental --file hp-bin.20190901.master.tar.gz
tar --extract --gzip --directory /mnt/root --verbose --incremental --file hp-bin.20190908.tar.gz
…
tar --extract --gzip --directory /mnt/root --verbose --incremental --file hp-bin.20190915.tar.gz
Ну и так для всех бэкапированных директорий, начиная с наиболее свежего мастера и завершая последним инкрементом.
Предполагается, что в /mnt/root подключен новый диск, на который восстанавливается бэкап
0
А теперь не самое главное. Как проверить, что бэкапирование идёт нормально и можно будет восстановиться из архивов?
И моё мнение: пользоваться можно будет, когда версия 0.7 станет stable — потому что «Since version 0.7.1, Backup Manager supports dar archives.»
И моё мнение: пользоваться можно будет, когда версия 0.7 станет stable — потому что «Since version 0.7.1, Backup Manager supports dar archives.»
0
s3 вообще говоря не для всех
Спорное утверждение, на мой взгляд зарегистрировать аккаунт на Амазоне проще чем ставить где-то (в идеале в датацентре отличном от того, в котором стоит «бэкапируемый» сервер) еще одну железяку, чтобы переносить на нее данные по FTP.
а вот ограничение на 2 гигабайта — это неудобно
А где такое ограничение?
Спорное утверждение, на мой взгляд зарегистрировать аккаунт на Амазоне проще чем ставить где-то (в идеале в датацентре отличном от того, в котором стоит «бэкапируемый» сервер) еще одну железяку, чтобы переносить на нее данные по FTP.
а вот ограничение на 2 гигабайта — это неудобно
А где такое ограничение?
0
А, да, увидел:
Slice archives to 2 GB if using dar archives format.
Это же ограничение на один слайс, распилить архив можно на сколько угодно кусков.
Slice archives to 2 GB if using dar archives format.
Это же ограничение на один слайс, распилить архив можно на сколько угодно кусков.
0
я неправильно выразился, точнее даже ошибочно.
Основной формат для архивов — tar — не поддерживает хранение архивов в нескольких файлах, то есть архив будет большим. В 0.7.1 появилась возможность создавать архивы в формате dar — который, кроме всего прочего, позволяет разбивать архивы на маленькие фрагменты. Например, можно делать файлы архивов в размер CDROM или DVD или вообще дискеты.
Основной формат для архивов — tar — не поддерживает хранение архивов в нескольких файлах, то есть архив будет большим. В 0.7.1 появилась возможность создавать архивы в формате dar — который, кроме всего прочего, позволяет разбивать архивы на маленькие фрагменты. Например, можно делать файлы архивов в размер CDROM или DVD или вообще дискеты.
0
Спасибо, очень своевременная статья, хотел бекапится именно на S3 который уже используется в проекте.
0
А почему не подошел BackupPC как бэкап-сервер?
Из функционала:
Из функционала:
- поддерживает Windows, Linux, Mac OS
- практически не требует инсталляции на клиенте
- полные и инкрементные бэкапы
- идентичные файлы в разных бэкапах разных систем не дублируются
- и прочие прелести...
+1
а BackupPC уже научился бэкапить mysql? Ну и для него, не забываем, нужен отдельный сервер.
0
ну в принципе да: тут вот дискуссия по поводу
конечно же, Backuppc (мое сугубо субъективное мнение) идеальное решения для бэкапов целого зоопарка систем как пользовательских так и серверных…
конечно же, Backuppc (мое сугубо субъективное мнение) идеальное решения для бэкапов целого зоопарка систем как пользовательских так и серверных…
0
ну какое же он идеальное. Это решение для предприятия с быстрыми каналами. Представьте, что надо гигабайт мелких файлов передать на восстанавливаемую систему — это уже не минуты и часы будут. Или как унести его бэкап на DVD диске. Или что будет, если бэкапный сервер сам накроется. Или как его заставить писать не на локальную файловую систему, а не FTP сервер. Или не придётся ли столкнуться с проблемой миллионов файлов.
Я его для windows и linux использую, конечно, но отдельностоящий сервер им бэкапить неудобно.
Я его для windows и linux использую, конечно, но отдельностоящий сервер им бэкапить неудобно.
0
а отчеты слать в мониторинг\почту\jabber оно умеет?
+1
А чем собственно не устраивает fsbackup для создания копий? В backup-manager очень неудобно настраивается порядок создания полной и инкрементальной копии. Полную копию можно создавать либо раз в неделю, либо раз в месяц. А если я хочу создавать каждые две недели полную копию, причем в crontab запуск будет не каждый день, а через день?
Будут ли сохраняться старые копии, или по сути будет только один текущий цикл храниться?
Я не увидел какого-то плюса от его использования, кроме поддержки Amazon S3
Будут ли сохраняться старые копии, или по сути будет только один текущий цикл храниться?
Я не увидел какого-то плюса от его использования, кроме поддержки Amazon S3
0
rsnapshot
+1
Он не не устраивает, просто изначально я вообще не знал о том какие есть инструменты для решения этой задачи, по этому по запросу в гугле я нашел эту страницу и испытал перечисленные на ней утилиты на предмет работоспособности и соответствия моим требования. Кстати, насколько я понял ни fsbackup, ни rsnapshot не копируют данные на S3, а это для меня было одним из ключевых требований.
0
Подскажите, а использование встроенной в webmin возможности создания бэкапов — это хорошо или плохо?
0
О, сколько я подобных вещей перепробовал, пока не понял что быстрее самому написать все инструменты, чтобы они работали так, как тебе нужно, чем добиваться нужного функционала от готовых решений, которые заведомо не знают о твоих нюансах.
А бэкап БД — вообще отдельная тема.
Админы, не ленитесь писать скрипты автоматизации — это очень легко, даже если вы не программист.
А бэкап БД — вообще отдельная тема.
Админы, не ленитесь писать скрипты автоматизации — это очень легко, даже если вы не программист.
0
спасибо. актуально. особенно на s3.
0
rdiff-backup попробуйте :)
0
Сначала полез допиливать описываемое решение, но потом понял, что свой велосипед лучше :). За 10 минут набросал вот такой скриптик для бекапирования ноута. Он архивирует указанные директории, шифрует AES-ом и закидывает на Dropbox. Для десктопа самое оно:
______________________
Текст подготовлен в Хабра Редакторе от © SoftCoder.ru
Выставляем chmod и прописываем в крон.
- #!/bin/bash
-
- TARGETS="/boot /etc /root"
- mount /boot
-
- for i in $TARGETS; do
- filename=$(echo $i | sed 's/\//-/g'); #убираем / в имени файла
- tar -czPf /var/archives/`echo $HOSTNAME`$filename-`date +%Y%m%d`.tar.gz $i; # e.g. gbox-etc-20100314.tar.gz
- done
-
- for i in `ls /var/archives/`; do
- gpg -e --symmetric --cipher-algo AES --batch --passphrase «Your_Password» /var/archives/$i; # шифруем
- mv /var/archives/$i.gpg /home/allein/Dropbox/archives/; # шифрованные файлы закидуем на Dropbox
- rm -f /var/archives/$i; # остальное удаляем
- done
-
- umount /boot
______________________
Текст подготовлен в Хабра Редакторе от © SoftCoder.ru
Выставляем chmod и прописываем в крон.
+1
Респект, столько интересных решений в комментах, завтра что-нибудь попробую. Сейчас есть самописный скрипт (из 2х строк, скриптом-то не назовёшь), который требует доделывания.
0
Авторам в голову надо вбить гвоздь.
В половине мест — пути абсолютные, в половине — относительные.
Весь ворох скриптов устанавливается посредством модного make-файла — не работающего, правда, не из-под чего, кроме линукса — но поправить системные пути из того же make-файла уже непосильная задача.
Зато — «Backup Manager 0.7.9 released», зато — «This release fixes 7 known bugs found in version 0.7.8.»
Пионерия на марше.
В половине мест — пути абсолютные, в половине — относительные.
Весь ворох скриптов устанавливается посредством модного make-файла — не работающего, правда, не из-под чего, кроме линукса — но поправить системные пути из того же make-файла уже непосильная задача.
Зато — «Backup Manager 0.7.9 released», зато — «This release fixes 7 known bugs found in version 0.7.8.»
Пионерия на марше.
0
Скажите, а как восстанавливать данные из инкрементального бекапа?
Т.е. допустим есть мастер-бекап на воскресенье и инкрементальный на вторник, в среду всё поломалось и надо восстанавить из бекапа во вторник. Как это можно сделать?
Т.е. допустим есть мастер-бекап на воскресенье и инкрементальный на вторник, в среду всё поломалось и надо восстанавить из бекапа во вторник. Как это можно сделать?
0
По ссылке на backup manager выдает сайт на китайском о выращивании урожая в саду
0
Сайт по ссылке из статьи — уже не тот…
Делал резервные копии с помощью встроенного функционала в панель ISP Manager с отправкой файлов в Яндекс Диск. У этого способа тоже есть недостатки.
Делал резервные копии с помощью встроенного функционала в панель ISP Manager с отправкой файлов в Яндекс Диск. У этого способа тоже есть недостатки.
0
Sign up to leave a comment.
Настройка резервного копирования Linux-сервера за 5 минут