- Как использовать rsync для резервного копирования данных
- Базовый синтаксис Rsync для локальной и внешней передачи
- Резервное копирование данных с помощью Rsync
- Rsync Dry Run — Меры предосторожности
- Используйте Rsync для локального резервного копирования данных
- Используйте Rsync для резервного копирования данных по сети
- Сжать данные при резервном копировании с помощью Rsync
- Итог
- Резервное копирование на Linux — Бэкап Linux сервера | Boodet.online
- Бэкап Linux-серверов
- Что это и зачем нужно?
- Создание резервной копии
- Бэкап на жесткий диск
- Бэкап Linux-сервера на NAS
- Бэкап по SSH
Как использовать rsync для резервного копирования данных
Резервное копирование данных — важная часть как индивидуальной, так и корпоративной инфраструктуры. Машины с операционной системой Linux могут использовать rsync и ssh для облегчения процесса.
Rsync — это утилита командной строки, которая позволяет передавать файлы в локальные и удаленные места. Rsync удобен в использовании, поскольку он по умолчанию входит в состав большинства дистрибутивов Linux. Вы можете настроить инструмент, используя многие из доступных опций.
В этом случае мы будем использовать SSH в сочетании с rsync для защиты передачи файлов.
Следуйте этому руководству, чтобы узнать, как использовать rsync для резервного копирования данных. В руководстве будет приведено несколько примеров, иллюстрирующих, как работает этот процесс.
Базовый синтаксис Rsync для локальной и внешней передачи
Синтаксис использования инструмента rsync отличается для локальной и удаленной передачи.
Для локальных резервных копий синтаксис следует этой базовой схеме:
rsync options SOURCE DESTINATION
Для передачи файлов во внешнее хранилище мы будем использовать несколько иной шаблон:
rsync options SOURCE user@IP_or_hostname:DESTINATION
В обоих случаях источником и местом назначения являются каталог или путь к файлу.
Резервное копирование данных с помощью Rsync
Для лучшего понимания того, что делает rsync, мы будем использовать подробный ключ -v . Кроме того, поскольку мы будем создавать резервные копии данных в каталогах, мы будем использовать режим архива -a для рекурсивной синхронизации. Существует множество вариантов и примеров rsync, поэтому используйте любой из них, который вам нужен.
Rsync Dry Run — Меры предосторожности
Утилита rsync позволяет вам по-разному манипулировать вашими данными. Так что будьте осторожны при резервном копировании файлов. Если вы используете неправильный вариант или неправильный пункт назначения, вы можете смешать свои данные. Хуже того, вы можете случайно перезаписать или удалить файлы.
По этой причине используйте параметр —dry-run , чтобы убедиться, что инструмент делает то, что вы хотите. Возможна случайная потеря данных, но этот параметр помогает предотвратить ее.
Для простых передач вам может не понадобиться использовать —dry-run , но когда речь идет о большем наборе данных, мы настоятельно рекомендуем вам это сделать.
Используйте основной формат синтаксиса и добавьте —dry-run :
rsync options --dry-run SOURCE DESTINATION
Используйте Rsync для локального резервного копирования данных
Мы начнем с резервного копирования каталога на той же машине Linux. Путь может быть любым — другой раздел, жесткий диск, внешнее хранилище и так далее.
Используйте полный путь как к источнику, так и к месту назначения, чтобы избежать ошибок.
Например, чтобы создать резервную копию Dir1 из документов в /media/hdd2/rscync_backup , используйте команду rsync в этой форме:
rsync -av /home/test/Documents/Dir1 /media/hdd2/rsync_backup
На выходе отображается список переданных файлов и каталогов, а также другие сведения о передаче.
Примечание. Чтобы создать новый каталог в месте назначения и создать в нем резервную копию файлов, добавьте в конец пути к месту назначения косую черту / . Если вы добавите завершающую косую черту к источнику, то исходный каталог не будет создан в месте назначения. Rsync передает только свое содержимое в этом случае.
Используйте Rsync для резервного копирования данных по сети
Для безопасного резервного копирования данных по сети rsync использует SSH для передачи. Ваш сервер должен быть настроен на разрешение SSH-соединения.
Как только вам удастся подключиться к удаленному компьютеру через SSH, вы можете начать резервное копирование данных в место на этой машине.
Например, чтобы создать резервную копию Dir1 для резервного копирования на другой машине по сети, введите:
rsync -av /home/test/Documents/Dir1 test@192.168.56.101:/home/test/backup
В выводе перечислены каталоги и файлы, перенесенные rsync на другой компьютер.
Вы можете проверить, действительно ли файлы находятся на удаленном сервере:
Если вы подключаетесь в первый раз, вам нужно будет ввести свой пароль и подтвердить его, когда вы получите запрос. Нет необходимости вводить имя пользователя для удаленных передач, если вы хотите подключиться как текущий пользователь.
Примечание: вы можете избежать ввода пароля каждый раз, когда вы хотите создать резервную копию данных с помощью rsync через SSH. Настройте аутентификацию на основе ключей SSH, и вы сможете использовать беспарольный вход на удаленный компьютер.
В примере, который мы использовали здесь, предполагается, что SSH использует порт по умолчанию. Если вам нужно указать другой порт для SSH-соединения, используйте флаг -e и введите параметры SSH.
Чтобы указать порт 4455, например, выполните указанную выше команду в следующем формате:
rsync -av -e 'ssh -p 4455' /home/test/Documents/Dir1 test@192.168.56.101:/home/test/backup
При необходимости вы можете удалить исходные файлы после их переноса в другое место.
Сжать данные при резервном копировании с помощью Rsync
Чтобы сэкономить место, вы можете сжать свои данные перед их переносом в другое место. Вы можете использовать встроенную опцию rsync для сжатия данных или можете использовать другой инструмент для этого перед запуском rsync.
Чтобы сжать данные во время передачи, используйте параметр -z с командой rsync.
rsync -avz /home/test/Documents/Dir1 test@192.168.56.101:/home/test/backup
Другой вариант — использовать команду zip , чтобы заархивировать ваши файлы или каталог, а затем запустить rsync. В нашем случае мы заархивируем Dir1 в Dir.zip :
zip /home/test/Documents/Dir1.zip /home/test/Documents/Dir1
Затем перенесите этот файл в другое место:
rsync -avz /home/test/Documents/Dir1.zip test@192.168.56.101:/home/test/backup
Теперь у вас есть заархивированная копия вашего каталога на удаленном сервере. Вы также можете сделать это для локальных передач, если хотите иметь резервную копию на другом диске или разделе.
Итог
В этом руководстве показано, как создавать резервные копии данных с помощью rsync как локально, так и по сети. Будьте осторожны при использовании этого инструмента и обязательно выполните пробный запуск, если вы не уверены в параметрах rsync, которые хотите использовать.
Резервное копирование на Linux — Бэкап Linux сервера | Boodet.online
Пошаговая инструкция созданию бэкапа и восстановлению для ОС Linux. Бэкап всей системы, бэкап сервера и резервное копирование по расписанию.
08 Июл 2020 07:02 IT GIRL 12
Резервное копирование на Linux — Бэкап Linux сервера | Boodet.online Блог 2020-07-08 ru Резервное копирование на Linux — Бэкап Linux сервера | Boodet.online
286 104
286 104
Бэкап 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 /