SRV_ADMIN Telegram 1487
​​Потестировал очень любопытную программу для бэкапов - ElkarBackup. Посоветовали в комментариях к недавней статье. Программа понравилась, я её погонял немного, сейчас расскажу, как она работает.

Под капотом там RSnapshot, Rsync, Symfony на PHP. То есть это Web приложение на базе Симфонии и Rsync. По сути это просто веб интерфейс к rsync, которым удобно пользоваться. С его помощью можно добавлять хосты, создавать для них задания, планировать их выполнение, смотреть логи.

Я запустил всё это дело в докере. На хабе представлен готовый docker-compose.yml, но у меня с ним не завелось. Немного подредактировал. Вот рабочий вариант:

version: '3.9'

services:
 elkarbackup:
  image: elkarbackup/elkarbackup:latest
  volumes:
   - backups:/app/backups
   - uploads:/app/uploads
   - sshkeys:/app/.ssh
  environment:
   SYMFONY__DATABASE__PASSWORD: "your-password-here"
   EB_CRON: "enabled"
  ports:
   - 8000:80

 db:
  image: mysql:5.7.22
  volumes:
   - db:/var/lib/mysql
  environment:
   MYSQL_ROOT_PASSWORD: "your-password-here"

volumes:
  db:
  backups:
  uploads:
  sshkeys:

Volumes не вынесены из контейнеров, так что это установка чисто для теста. В прод я бы ставил из пакетов, благо они есть под все популярные системы и настраивается всё очень просто по документации. Контейнеры тут только для теста нужны.

После запуска можно идти в веб интерфейс http://192.168.13.123:8000/ и добавлять нового клиента. В качестве URL укажите подключение по SSH, типа такого: [email protected]

Для клиента создаёте задание, указывая директорию, которую будете бэкапить. Тут же можно расписание настроить, уведомления включить и т.д. После этого надо забрать с сервера публичный ключ для подключения по ssh. Проще всего его скопировать по ссылке: http://192.168.13.123:8000/config/publickey/get

Публичный ключ надо добавить на целевой сервер, которого добавили как клиента. После этого можно запускать задание с бэкапом. Посмотреть результат работы можно в логах. Если всё в порядке, то файлы приедут на сервер в директорию контейнера /app/backups. Доступ к ним можно получить через веб интерфейс.

Работает всё просто и удобно. Мне понравилось. Рекомендую попробовать, если ищите что-то похожее. Интерфейс простой и лакончиный, работает быстро. Не заметил каких-то проблем или глюков. Насчёт того, как эта штуковина переваривает десятки и сотни тысяч файлов, не знаю. Подозреваю, что могут быть проблемы. Но в такие архивы лазить через веб интерфейс не стоит, достаточно заданиями управлять.

Сайт - https://www.elkarbackup.org/
Исходники - https://github.com/elkarbackup/elkarbackup
Docker Hub - https://hub.docker.com/r/elkarbackup/elkarbackup/

#backup #rsync



tgoop.com/srv_admin/1487
Create:
Last Update:

​​Потестировал очень любопытную программу для бэкапов - ElkarBackup. Посоветовали в комментариях к недавней статье. Программа понравилась, я её погонял немного, сейчас расскажу, как она работает.

Под капотом там RSnapshot, Rsync, Symfony на PHP. То есть это Web приложение на базе Симфонии и Rsync. По сути это просто веб интерфейс к rsync, которым удобно пользоваться. С его помощью можно добавлять хосты, создавать для них задания, планировать их выполнение, смотреть логи.

Я запустил всё это дело в докере. На хабе представлен готовый docker-compose.yml, но у меня с ним не завелось. Немного подредактировал. Вот рабочий вариант:

version: '3.9'

services:
 elkarbackup:
  image: elkarbackup/elkarbackup:latest
  volumes:
   - backups:/app/backups
   - uploads:/app/uploads
   - sshkeys:/app/.ssh
  environment:
   SYMFONY__DATABASE__PASSWORD: "your-password-here"
   EB_CRON: "enabled"
  ports:
   - 8000:80

 db:
  image: mysql:5.7.22
  volumes:
   - db:/var/lib/mysql
  environment:
   MYSQL_ROOT_PASSWORD: "your-password-here"

volumes:
  db:
  backups:
  uploads:
  sshkeys:

Volumes не вынесены из контейнеров, так что это установка чисто для теста. В прод я бы ставил из пакетов, благо они есть под все популярные системы и настраивается всё очень просто по документации. Контейнеры тут только для теста нужны.

После запуска можно идти в веб интерфейс http://192.168.13.123:8000/ и добавлять нового клиента. В качестве URL укажите подключение по SSH, типа такого: [email protected]

Для клиента создаёте задание, указывая директорию, которую будете бэкапить. Тут же можно расписание настроить, уведомления включить и т.д. После этого надо забрать с сервера публичный ключ для подключения по ssh. Проще всего его скопировать по ссылке: http://192.168.13.123:8000/config/publickey/get

Публичный ключ надо добавить на целевой сервер, которого добавили как клиента. После этого можно запускать задание с бэкапом. Посмотреть результат работы можно в логах. Если всё в порядке, то файлы приедут на сервер в директорию контейнера /app/backups. Доступ к ним можно получить через веб интерфейс.

Работает всё просто и удобно. Мне понравилось. Рекомендую попробовать, если ищите что-то похожее. Интерфейс простой и лакончиный, работает быстро. Не заметил каких-то проблем или глюков. Насчёт того, как эта штуковина переваривает десятки и сотни тысяч файлов, не знаю. Подозреваю, что могут быть проблемы. Но в такие архивы лазить через веб интерфейс не стоит, достаточно заданиями управлять.

Сайт - https://www.elkarbackup.org/
Исходники - https://github.com/elkarbackup/elkarbackup
Docker Hub - https://hub.docker.com/r/elkarbackup/elkarbackup/

#backup #rsync

BY ServerAdmin.ru




Share with your friend now:
tgoop.com/srv_admin/1487

View MORE
Open in Telegram


Telegram News

Date: |

Concise Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link). 5Telegram Channel avatar size/dimensions Add up to 50 administrators How to create a business channel on Telegram? (Tutorial)
from us


Telegram ServerAdmin.ru
FROM American