
Сисадмины делятся на тех, кто не делает бэкапы и тех, кто уже делает.
(с) Народная мудрость.
Бэкапы - очень важная штука. Никто не хочет внезапно потерять свои данные. Сегодня я вам расскажу об удобной и быстрой бэкапилке для standalone-машин: restic
Краткий обзор
restic это standalone-утилита, написана на go. Нет клиент-серверной архитектуры, агентов, и т.п. Предназначен для локального запуска с целью положить бэкап куда-то вовне. Поэтому restic хорошо подойдёт для бэкапа домашней или рабочей тачки, ноута, VPS.
Чем хорош restic
- Прост в использовании, не требует телодвижений по настройке. Простой и лёгкий бэкап и восстановление
- Быстрый. Скорость работы ограничена пропускной способностью диска/сети. restic не гоняет гигазы индексов как например
duplicity
. - Верификация данных. Убедиться в целостности данных очень легко
- Безопасность. Бэкапы зашифрованы, защищены криптографией. Могут находиться в untrusted хранилище.
- Эффективность. Свежие данные записываются в инкрементальном режиме. Имеется встроенная дедупликация.
- Поддержка различных бэкендов, типа sftp, AWS S3, Azure, Google Cloud Storage и прочее
- Можно бэкапить в один бэкап-репозиторий с разных машин
- Во время ручного запуска показывается информативный прогресс-бар. Не то что в duplicity.
Потенциальная вкусность
restic можно связать с sia через запатченный minio. Кто не знает, sia это такое распределённое децентрализованное хранилище на основе блокчейна. Хорошая статья про sia на habr-е.
Пример скрипта для cron
Перед автоматизацией бэкапов сперва надо инициализировать репо:
restic -r sftp:user@host:/path init
Ну и на закуску вот вам примерный скрипт для cron, который выполняет и бэкап и cleanup старых данных.
#!/bin/sh -e
# backup host definitions
HOST=backup.xxx.ru
TARGET=/mnt/backups/foo
USER=user
export RESTIC_REPOSITORY=sftp:$USER@$HOST:$TARGET
export RESTIC_PASSWORD=supersecret
exclude_args="--exclude=.cache --exclude=*.vdi"
ionice -c3 -p$$
restic backup $exclude_args /home/vvk /etc /srv
restic forget --prune --keep-daily 14 --keep-weekly 4 --keep-monthly 6 --keep-yearly 2
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
saphira, shkiper, fair, asuleymanov, bystree, vika-teplo, kondratij, naiger, gbot
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас на странице https://golos.io/~witnesses, вот так: