- Вы ищете быструю, безопасную и простую в использовании программу резервного копирования для Linux, macOS и Windows ?
- Что такое Restic?
- Шаг 1: Установка программы Restic Backup
- Шаг 2. Создание репозитория Restic Backup
- Настройте сервер AWS S3
- Шаг 3: Резервное копирование данных с помощью Restic
- Список файлов в хранилище
Вы ищете быструю, безопасную и простую в использовании программу резервного копирования для Linux, macOS и Windows ?
Выполнение резервного копирования является критическим процессом для всех системных администраторов
Данные – это самый важный аспект бизнеса, и мы не можем доверять нашим компьютерам и думать, что наши данные всегда в безопасности и доступны.
Вот почему нам нужно оперативное и автономное резервное копирование, чтобы мы могли восстановиться в случае сбоя системы или незапланированных аварий.
Все резервные копии данных должны быть защищены от любых атак.
Что такое Restic?
Restic – быстрая, безопасная и эффективная программа резервного копирования для систем Linux, macOS, Windows и BSD, таких как FreeBSD и OpenBSD.
Он использует криптографию, чтобы гарантировать конфиденциальность и целостность ваших данных.
Restic написан на Go, а бинарные файлы доступны для скачивания на странице релиза.
Его легко настроить и использовать.
Шаг 1: Установка программы Restic Backup
Установка Restic на Debian/Ubuntu:
sudo apt-get -y install restic
Установка Restic на Fedora:
sudo dnf -y install restic
Установка Restic на FreeBSD:
sudo pkg install restic
Установка Restic на RHEL & CentOS
sudo yum -y install yum-plugin-copr sudo yum copr enable copart/restic sudo yum -y install restic
Установка Restic на Arch Linux
$ sudo pacman -S restic
Установка Restic на Windows
restic можно установить с помощью Scoop:
scoop install restic
Вы можете проверить установленную версию Restic, используя:
$ restic version restic 0.9.4 compiled with go1.11.4 on linux/amd64
Обновление можно выполнить с помощью команды self-update restic.
$ restic self-update writing restic to /usr/bin/restic find latest release of restic at GitHub restic is up to date
Настройте Restic автозаполнение.
$ sudo restic generate --bash-completion /etc/bash_completion.d/restic writing bash completion file to /etc/bash_completion.d/restic $ source /etc/bash_completion.d/restic
Для Zsh – Как установить и настроить Zsh (Z Shell) в Fedora
$ mkdir ~/.zsh $ restic generate --zsh-completion ~/.zsh/restic.zsh writing zsh completion file to /home/jmutai/.zsh/restic.zsh $ echo "source ~/.zsh/restic.zsh" | tee -a ~/.zshrc $ source ~/.zshrc
Шаг 2. Создание репозитория Restic Backup
Резервные копии сохраняются в хранилище.
Restic имеет встроенную поддержку для следующих бэкэндов.
- Local directory
- sftp server (via SSH)
- HTTP REST server (protocol rest-server)
- AWS S3
- OpenStack Swift
- BackBlaze B2
- Microsoft Azure Blob Storage
- Google Cloud Storage
В этом руководстве мы будем использовать сервис AWS S3 для хранения наших резервных копий.
Но вы также можете настроить другие бэкэнды, следуя инструкциям по ссылкам выше.
Настройте сервер AWS S3
Установите и настройте AWS CLI.
Как только это будет сделано, создайте s3 bucket для сохранения файлов.
$ aws s3 mb s3://databackups.local make_bucket: databackups.local
Замените databackups.local именем контейнера, который нужно создать.
S3 bucket также можно создать из консоли AWS.
Экспортируйте учетные данные AWS, если их нет в ~/.aws/credentials
.
$ export AWS_ACCESS_KEY_ID=<MY_ACCESS_KEY> $ export AWS_SECRET_ACCESS_KEY=<MY_SECRET_ACCESS_KEY>
Инициализируйте репозиторий, который использует ваш Amazon S3 в качестве бэкэнда.
$ restic --repo s3:s3.amazonaws.com/databackups.local init enter password for new repository: <SetPassword> enter password again: <ConfirmPassword> created restic repository c564d0cd66 at s3:s3.amazonaws.com/databackups.local Please note that knowledge of your password is required to access the repository. Losing your password means that your data is irrecoverably lost.
Шаг 3: Резервное копирование данных с помощью Restic
Теперь, когда у нас есть инициализированный репозиторий, давайте приступим к резервному копированию наших данных.
Содержимое каталога в определенный момент времени называется «snapshot» в restic.
$ restic --repo s3:s3.amazonaws.com/databackups.local backup sitemap.xml open repository enter password for repository: repository c564d0cd opened successfully, password is correct created new cache in /home/jmutai/.cache/restic Files: 1 new, 0 changed, 0 unmodified Dirs: 0 new, 0 changed, 0 unmodified Added to the repo: 13.719 KiB processed 1 files, 13.340 KiB in 0:02 snapshot ca04a741 saved
Это загрузит файл sitemap.xml в репозиторий Restic s3: s3.amazonaws.com/databackups.local, который мы создали ранее.
Вы получите идентификатор снимка после загрузки, в нашем случае это ca04a741.
Чтобы загрузить каталог с несколькими файлами, просто замените sitemap.xml на имя каталога.
Список файлов в хранилище
Используйтеe restic list
, чтобы перечислить объекты в хранилище.
$ restic --repo s3:s3.amazonaws.com/databackups.local list index enter password for repository: repository c564d0cd opened successfully, password is correct 6589e05e67933146677712caecd88719be2e852da017c8ae965edee05a35466e 6cd779cb7adf737d3f77856ba49b864d887a60e663cee7c7763013e2b37baab6 $ restic --repo s3:s3.amazonaws.com/databackups.local list snapshots enter password for repository: repository c564d0cd opened successfully, password is correct 005c3d29e4771bd82b522dd3756fe4250bbe698dbdfc60731d7d11488a29427d ca04a741482b8a38ebd4b4a0015476031a302089e690a6217f2c355d1fe57ca9
Список файлов в снэпшоте с помощью опции ls.
Передайте первые 8 символов идентификатора снэпшота
$ restic -r s3:s3.amazonaws.com/databackups.local ls ca04a741 enter password for repository: repository c564d0cd opened successfully, password is correct snapshot ca04a741 of [/home/jmutai/sitemap.xml] filtered by [] at 2019-03-07 09:20:14.108746307 +0300 EAT): /sitemap.xml
Вы также можете создавать резервные копии файлов из списка и исключать файлы из списка.
$ find /path | grep 'PATTERN1' > /tmp/files_to_backup $ find /path | grep 'PATTERN2' > /tmp/excludes.txt $ restic -r /srv/restic-repo backup ~/work --exclude="*.c" --exclude-file=excludes.txt $ restic -r /restic-repo backup --files-from /tmp/files_to_backup \ --exclude-file=/tmp/excludes.txt /otherfiles