Как использовать программу резервного копирования restic в Linux – CloudSavvy IT

Защитите свои драгоценные файлы и незаменимые фотографии с помощью программы резервного копирования restic. Он быстрый, зашифрованный, и вы можете использовать его прямо из командной строки Linux. Вот как это настроить.

Ценность резервных копий

У всего оборудования есть конечный срок службы. Механический жесткие диски (Жесткие диски) и твердотельные накопители (SSD) не вечны. Аварии тоже случаются. Ноутбуки можно потерять, украсть или уронить с лестницы.

Раньше говорили, что ценность эффективной системы резервного копирования становится очевидной только после потери данных. Когда происходят сбои или потери, вам нужен быстрый и простой способ вернуть свои файлы и информацию. Если организация теряет данные, последствия будут серьезными. Это может даже поставить под угрозу непрерывность бизнеса. Даже в домашних условиях потеря данных может быть болезненным процессом. Резервные копии – единственная разумная гарантия.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

И вдобавок ко всему, случайная или злонамеренная потеря личных данных считается нарушением некоторых законов о защите данных, таких как Общие правила защиты данных (GDPR).

При выборе программного обеспечения для резервного копирования следует учитывать несколько моментов. Где вы хотите хранить свои резервные копии? На съемном диске, на другом компьютере через ваш локальная сеть (LAN) или в облачном хранилище? Очевидно, вам необходимо использовать программу резервного копирования, которая может записывать и восстанавливать данные из хранилища данных, которое вы хотите использовать.

Резервные копии должны быть зашифрованы, особенно если они будут храниться за пределами предприятия или в облаке. Если они зашифрованы, они не могут быть прочитаны и восстановлены неавторизованными лицами.

Программа должна быть быстрой. Вы же не хотите целый день ждать завершения резервного копирования или восстановления. Некоторые программы хранят базовый образ резервной копии, а затем сохраняют различия между базовым образом и исходной машиной для каждой последующей резервной копии. Это значительно ускоряет процесс резервного копирования. Он также использует меньше места для ваших резервных копий.

Restic делает все это. Это бесплатно, с открытым исходным кодом, под лицензией 2-Пункт Лицензия BSD, и находится в активной разработке. Исходный код включен GitHub.

Куда делать резервную копию

В этой статье мы собираемся хранить наши резервные копии на другом компьютере в нашей сети. Это здорово, потому что это обеспечивает быструю передачу файлов, а также легкое резервное копирование и восстановление. В реальном сценарии вам действительно нужно сделать резервную копию в другом удаленном месте. Если ваши действующие системы и резервные копии находятся в одном и том же месте, и в этом месте происходит катастрофа – пожар, кража или наводнение – вашего гуся приготовят, если только у вас нет резервной копии за пределами предприятия.

Неудивительно, что restic может выполнять резервное копирование на внешний диск, который можно забрать из помещения, и, что еще лучше, он может выполнять резервное копирование прямо в облачное хранилище.

Из коробки restic можно сделать резервную копию:

Если вам нужно выполнить резервное копирование в место назначения данных, которого нет в этом списке, вы можете объединить силу rclone с рестиком и вернуться к любому из 40 или около того направления, поддерживаемые rclone.

Для резервного копирования по сети SFTP необходимо установить и настроить SSH на сервере резервного копирования. Это машина, на которой будут храниться резервные копии. Если вы настроили ключи SSH на сервере резервного копирования и на машине, для которой будет выполнено резервное копирование, вам не будет предлагаться вводить пароль SSH при каждом запуске резервного копирования.

Один из способов автоматизировать резервное копирование – создать короткие скрипты или функции оболочки и используйте cron для их запуска в указанное время. Использование ключей SSH позволит вам избежать проблемы с предоставлением пароля для автоматического резервного копирования.

Установка restic

Приложение restic находится в репозиториях основных дистрибутивов Linux, поэтому его установка выполняется в однострочном режиме с использованием диспетчера пакетов каждого дистрибутива.

Чтобы установить restic в Ubuntu, введите:

sudo apt install restic

Команда для использования в Fedora:

sudo dnf install restic

На Manjaro мы используем pacman:

sudo pacman -Sy restic

Настройка restic

Убедитесь, что у вас настроен SSH на машине с резервным сервером и что вы можете удаленно подключиться к нему с машины, для которой вы собираетесь создать резервную копию. Это клиентская машина. В нашей тестовой сети клиент называется «ubuntu-20-10», а сервер – «резервный ящик».

По терминологии restic, резервные копии хранятся в виде снимков в репозитории. Каждая резервная копия создает новый снимок. Нам нужно создать место для репозитория на сервере.

Нам нужно создать каталог на сервере резервного копирования для хранения репозитория. Исторически службы, обслуживаемые сервером, располагались в каталоге «/ srv». Так что мы разместим там наш репозиторий.

На резервном сервере выполните эту команду. Вы можете назвать каталог репозитория как хотите. Мы используем название «рестик» для простоты.

sudo mkdir /srv/restic

Нам нужно убедиться, что этот каталог доступен для человека, который будет обрабатывать резервные копии. Если бы это было несколько человек, имело бы смысл создать группу пользователей и предоставить группе доступ к каталогу.

sudo chown dave:dave /srv/restic

Проверим настройки в каталоге:

ls -hl /srv

Теперь мы можем перейти к клиентской машине и создать репозиторий на сервере оттуда. Замените имя своего пользователя, имя сервера резервного копирования и имя каталога репозитория, чтобы они соответствовали вашему выбору. Вы можете использовать айпи адрес резервного сервера, если хотите.

Мы используем -r (репозиторий), чтобы указать путь к репозиторию, который мы собираемся создать. Остальные initкоманда инициализирует репозиторий.

restic -r sftp:dave@backup-box.local:/srv/restic init

Вам будет предложено ввести пароль для учетной записи пользователя на резервном сервере. Если вы настроили ключи SSH между сервером и клиентом, вам не нужно выполнять этот шаг.

Вам также будет предложено ввести пароль репозитория, а затем вас попросят подтвердить его. Этот пароль необходимо использовать для взаимодействия с репозиторием в будущем. Не потеряй! Вы не сможете создать резервную копию или восстановить данные, если потеряете пароль.

Создание и инициализация репозитория займет всего несколько минут.

Создание резервной копии

Создать резервную копию очень просто. Мы используем backup с помощью restic, укажите, что мы хотим создать резервную копию и в какой репозиторий отправить резервную копию.

restic backup Documents/kernel/ -r sftp:dave@backup-box.local:/srv/restic

Вам необходимо предоставить пароль пользователя и пароль для репозитория. Пока выполняется резервное копирование, отображаются имена копируемых файлов, а также статистика, показывающая, сколько файлов будет скопировано всего, сколько уже скопировано и какой процент резервного копирования завершен. Снимки зашифрованы с использованием расширенный стандарт шифрования AES-256.

Поскольку это была первая резервная копия этого репозитория, все файлы, для которых были созданы резервные копии, были новыми. Мы действительно сказали, что восстановление было быстрым – более 70 000 файлов были скопированы за 23 секунды. Это весь исходный код ядра Linux.

На другой тестовой машине я сделал резервные копии более 350 000 файлов, что составляет более 170 ГиБ через полтора часа.

Я создал новый файл на клиенте в исходном каталоге и запустил еще одну резервную копию. Команда такая же, как и раньше.

restic backup Documents/kernel/ -r sftp:dave@backup-box.local:/srv/restic

Дерево исходных каталогов было просканировано на предмет изменений, новый файл был обнаружен, и для него была создана резервная копия. Эта вторая крошечная резервная копия заняла три секунды, включая сканирование других файлов на предмет изменений.

Давайте посмотрим на два снимка, которые есть в репозитории. Команда restic для этого: snapshots.

restic -r sftp:dave@backup-box.local:/srv/restic snapshots

Каждому снимку был присвоен шестнадцатеричный идентификатор в качестве уникального идентификатора. Отображаются дата и время создания каждого снимка. Также отображается имя компьютера, с которого была сделана резервная копия, и путь к данным, для которых была создана резервная копия.

Затем я создал второй новый файл и создал еще одну резервную копию. Опять же, командная строка такая же, как и раньше.

Как и в случае с нашей предыдущей резервной копией, это крошечное обновление заняло три секунды.

К настоящему времени вы, вероятно, устали вводить пароль хранилища. Мы можем решить эту проблему, прежде чем использовать snapshots команда, чтобы посмотреть нашу коллекцию из трех снимков. Откройте редактор и введите в него пароль репозитория, затем нажмите «Enter», чтобы начать новую строку. Сохраните файл как «.rest_pass» в своем домашнем каталоге.

Чтобы убедиться, что никто не видит пароль, изменить биты режима доступа файла с помощью chmod :

chmod 600 .rest_pass

Это означает, что никто, кроме вас, не может получить доступ к файлу.

Теперь мы можем передать это в остальную командную строку, используя -p (файл паролей) вариант. Если вы также настроили ключи SSH между клиентом и сервером, вам также не придется вводить пароль учетной записи пользователя. Вы можете легко автоматизировать резервное копирование с помощью cron как только человеческое взаимодействие было исключено из процесса.

restic snapshots -r sftp:dave@backup-box.local:/srv/restic -p .rest_pass

Нас больше не спрашивают пароль репозитория, и это здорово. Нам не нужно его запоминать, и мы не можем ошибиться.

Работа со снимками

Остальные diff Команда позволяет увидеть различия между любыми двумя снимками. Используйте уникальные идентификаторы двух снимков, которые вы хотите сравнить. Вы можете увидеть идентификаторы снимков при использовании restic snapshot команда.

restic diff -r sftp:dave@backup-box.local:/srv/restic -p .rest_pass 8f98cd29 8700e4bf

Различия между снимками отображаются в виде столбцов статистики.

Остальные check команда выполняет проверочный тест для всех снимков в репозитории.

restic check -r sftp:dave@backup-box.local:/srv/restic -p .rest_pass

Чтобы удалить снимок, вы должны сказать restic forget это и к prune Это. Вы должны использовать уникальный идентификатор снимка, чтобы определить, какой снимок нужно удалить.

restic forget --prune -r sftp:dave@backup-box.local:/srv/restic -p .rest_pass e506e089

Восстановление данных

Когда приходит время восстановить данные из ваших резервных копий, это так же просто, как и создать резервную копию. Вам нужно указать, какой снимок вы собираетесь восстановить. Вы можете использовать уникальный идентификатор снимка или использовать latest метка, чтобы использовать самый последний снимок в репозитории.

Вам также необходимо предоставить каталог, в который будут скопированы восстановленные данные с помощью target вариант.

restic restore latest --target ~/restored-data -r sftp:dave@backup-box.local:/srv/restic -p .rest_pass

Восстановление происходит так же быстро, как и резервное копирование. Проверяя целевой каталог, мы видим, что дерево каталогов и файлы были восстановлены для нас.

ls

Делайте резервные копии, спите спокойно

Потеря данных – серьезная проблема. Надежное решение для резервного копирования означает, что у вас на одну проблему меньше. С restic вы можете автоматизировать резервное копирование в локальные и облачные репозитории и спокойно спать.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *