Администрирование
Пошаговая инструкция созданию бэкапа и восстановлению для ОС 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 /
Данные можно сохранять не только на внешний диск, но и в облако или на сетевое устройство хранения данных (NAS). Чтобы использовать сетевое расположение в качестве места копирования бэкапа Linux, укажите путь к облачному хранилищу или NAS в командной строке. Команды будут такими же, как и для внешнего жесткого диска.
Rsync поддерживает резервное копирование через SSH-соединение. Понадобится указать имя учетной записи пользователя и расположение SSH в командной строке. Здесь нужно использовать сетевое имя, но можно и IP-адрес. Обратите внимание на знак «:» между деталями SSH-соединения и началом сетевого пути на удаленной цепи:
rsync -ravz / server / boodet / Documents / boodet@online.local: / server / boodet / Backups /
Для восстановления файлов из дампа используйте команду 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-редактор.
По прогнозу Gartner, к 2020 году люди будут больше общаться с чат-ботами, чем со своими супругами.
Как быть, если в компании нет e-mail-маркетолога? Заняться интернет-рассылками самостоятельно!
Что обещать профессионалам, если нет денег
Все говорят, что вашему стартапу нужен логотип, но никто говорит, как его сделать? Эта статья для вас!