Резервное копирование на Linux - Бэкап Linux сервера | Boodet.online

Администрирование

Резервное копирование на Linux - Бэкап Linux сервера | Boodet.online

Пошаговая инструкция созданию бэкапа и восстановлению для ОС Linux. Бэкап всей системы, бэкап сервера и резервное копирование по расписанию.

Поделиться
Запинить
Отправить

Бэкап Linux-серверов

Резервное копирование и восстановление в Linux выполняют с помощью специальных команд: tar, cpio ufsdump, dump и restore. Их хватит для бэкапа и восстановления небольших объемов данных. Чтобы сохранить и поднять сервер большой компании, потребуются гибкие готовые решения, например, Symantec NetBackup, EMC NetWorker или Amanda.

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

Что это и зачем нужно?

Чтобы сделать резервную копию сервера на Linux, мы будем использовать командную строку и программу rsync. Есть и более современные программы с красивым и более понятным интерфейсом, но алгоритмы rsync стабильные, надежные, допускают использование кода. А еще она использует минимальное количество трафика (может вычислить разницу между файлами в исходном и целевом каталоге и передавать только различия между двумя версиями файла).


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

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

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

В этой статье специалисты Boodet.Online расскажут, как создавать резервные копии сервера Linux на внешний диск, удаленный компьютер и по SSH-соединению.

Бэкап на жесткий диск

Если вы не используете облако или протоколы безопасности требуют хранения бэкапов Linux на внешнем диске, скопируйте сервер на жесткий диск: SSD — если хотите, чтобы восстановление было быстрее, или HDD — для большей надежности.


Первый шаг — узнать путь к диску. Откройте браузер файлов (например, Nautilus) в GNOME и найдите имя диска на боковой панели. Наведите указатель мыши на имя внешнего диска — путь будет виден во всплывающей подсказке (например, /media/boodet/NEWHDD).

Теперь скопируйте содержимое из исходного каталога. В командной строке нажмите r — это запустит процесс копирования всех вложенных подкаталогов сервера Linux и их содержимого:


rsync -r / server / boodet / Documents / / media / boodet / NEWHDD /

После завершения процесса вы вернетесь в командную строку. Проверьте, появились ли каталоги на внешнем диске.


Чтобы скопировать данные с сервера Linux в определенный каталог на целевом жестком диске, добавьте имя каталога к целевому пути. Например, вы хотите скопировать содержимое «/ server / boodet / Documents» в каталог «резервные копии» на внешнем диске. Для этого нужно ввести команду:

rsync -r / server / boodet / Documents / / media / boodet / NEWHDD / backups /

Чтобы сохранить настройки файлов и разрешений, используйте параметр a (архив). С его помощью можно сохранить атрибуты файлов — даты модификации, права собственности на файлы, права доступа. Это пригодится, если вы планируете восстанавливать состояние сервера Linux из резервной копии целиком:

rsync -ra / server / boodet / Documents / / media / boodet / NEWHDD / backups /

Чтобы rsync перечислял файлы по мере их копирования, используйте параметр v:

rsync -rav / server / boodet / Documents / / media / boodet / NEWHDD / backups /

Если вы хотите видеть прогресс в ходе копирования каждого файла, используйте параметр p:

rsync -raP / server / boodet / Documents / / media / boodet / NEWHDD / backups /

Бэкап сервера Linux на внешний диск обычно происходит медленно. Чтобы ускорить процесс, можно использовать параметр z. Файлы будут сжиматься при передаче, но в целевом каталоге будут храниться в изначальном виде:

rsync -ravz / server / boodet / Documents / / media / boodet / NEWHDD / backups /

Бэкап Linux-сервера на NAS

Данные можно сохранять не только на внешний диск, но и в облако или на сетевое устройство хранения данных (NAS). Чтобы использовать сетевое расположение в качестве места копирования бэкапа Linux, укажите путь к облачному хранилищу или NAS в командной строке. Команды будут такими же, как и для внешнего жесткого диска.

Бэкап по SSH

Rsync поддерживает резервное копирование через SSH-соединение. Понадобится указать имя учетной записи пользователя и расположение SSH в командной строке. Здесь нужно использовать сетевое имя, но можно и IP-адрес. Обратите внимание на знак «:» между деталями SSH-соединения и началом сетевого пути на удаленной цепи:

rsync -ravz / server / boodet / Documents / boodet@online.local: / server / boodet / Backups /

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

Для восстановления файлов из дампа используйте команду restore. Полная резервная копия файловой системы восстановится, а последующие многоуровневые резервные копии будут храниться поверх нее. Отдельные файлы и поддеревья каталогов Linux-сервера можно легко восстановить из полных или частичных резервных копий.

Универсальный синтаксис:

восстановить -C [-cdHklMvVy] [-b размер блока] [-D файловая система] [-f файл] [-F скрипт] [-L лимит] [-s fileno] [-T каталог]

Чтобы восстановление соответствовало вашим целям, используйте различные параметры, которые обозначают буквами после команды restore, например:

  • a — чтобы восстановить все тома автоматически, начиная с 1;

  • h — чтобы извлечь фактический каталог, а не файлы. Это предотвращает иерархическое восстановление полных поддеревьев из дампа;

  • i — интерактивное восстановление файлов Linux Server. После прочтения информации о каталоге откроется графический интерфейс;

  • r — поднимает всю файловую систему.

Резервное копирование по расписанию

Чтобы создавать резервные копии Linux по расписанию, открываем файл crontab:

crontab -e

В примере мы настроим автоматическое резервное копирование, которое будет запускаться каждый день в 00:30. Для этого перед rsync-командой просто пишем время, например:

00 30 rsync -r / server / boodet / Documents / / media / boodet / NEWHDD /

Ctrl + O запишет ваши изменения в файл, а Ctrl + X закроет nano-редактор.

Поделиться
Запинить
Отправить

Возможно вам так же будет интересно:

Мотивации пост!

Продолжаем искать области в которых экономия пойдет только на пользу

На самом ли деле вам нужны инвестиции и хотите ли вы еще одного собственника в свой бизнес?