Вскрыл забытый способ делать бэкапы за секунды — и сильно пожалел, что не знал раньше!

Two terminals on a laptop screen, showing the man pages for the scp and rsync commands.

Резервное копирование файлов раньше казалось мне бесконечной морокой — из-за этого я не раз терял ценные данные. Лишь недавно я понял, что всё дело было в неверном подходе: я напрягался зря, когда мог делать всё проще. Вместо постоянных копирований папок между компьютером и внешним жёстким диском, стоило просто установить один инструмент, который сам сохраняет только новые и изменённые файлы. С ним бэкап — дело пары секунд, и достаточно одной строки в терминале.

Что такое rsync и кому он пригодится?

Remote Sync, или просто rsync — бесплатная и открытая программа, которая появилась ещё в 1996 году и давно стала стандартом среди Linux-пользователей. Утилита работает в командной строке и копирует файлы и папки между двумя местами — хоть на одном компьютере, хоть по сети.

Главное преимущество rsync в том, что он переносит только то, что действительно изменилось. В отличие от обычной команды cp, здесь не копируется всё заново: rsync сравнивает содержимое и отправляет по назначению только новые или изменённые части файлов. Так экономится и интернет-трафик, и время — резервное копирование превращается в молниеносный процесс.

rsync copy a directory to directory

Именно так rsync делает настоящую «синхронизацию» между папками или устройствами. Программа дополнительно проверяет целостность данных с помощью контрольных сумм, чтобы быть уверенным в сохранности копии. И, что особенно круто, rsync не ограничивается локальным диском — он прекрасно работает по сети через безопасный SSH-протокол: всё происходит так же просто.

Кажется, что rsync — простая утилита, но именно в этом её сила. Администраторы используют rsync для бэкапов и зеркалирования серверов, разработчики и компании выкладывают через него исходники и гигабайтные репозитории.

Rsync running to a network device.

А для обычных пользователей вроде меня rsync идеален для создания резервных копий личных документов, фото и видео. Теперь, если у тебя есть внешний диск, больше не нужно вручную перетаскивать целые папки. Запустил команду — и rsync сам перенесёт только то, что появилось или изменилось.

Какие ещё возможности у rsync?

Помимо «умных» бэкапов, rsync позволяет создавать точные копии папок, автоматически удаляя в целевом месте всё лишнее. Одна команда — и на диске останутся только нужные файлы.

Утилита бережно сохраняет все права доступа, владельцев, даты изменений и символические ссылки при копировании. Стандартные файловые менеджеры часто портят метаданные — но rsync сделает действительно точную копию, до последней мелочи.

A screenshot of the man page for the rsync utility.

Для работы с большими объёмами файлов rsync тоже отлично подходит: умеет сжимать данные «на лету», а если передача случайно оборвётся — спокойно продолжит с того же места. Когда нужно копировать тысячи мелких файлов, графические интерфейсы часто тормозят, а rsync справляется быстро и без лишней траты ресурсов.

Плюс, rsync прекрасно работает через SSH — данные можно передавать по сети с теми же преимуществами, что и при локальном копировании.

Коротко: rsync — это быстрые, умные и надёжные бэкапы. Он клонирует папки со всеми их параметрами, в разы быстрее обычного копирования, умеет автоматически продолжать работу после сбоев и одинаково хорош для локальных и сетевых задач.

Как быстро освоиться с rsync: основы на пальцах

Установить rsync можно через официальный репозиторий вашего дистрибутива. В Debian и Ubuntu для этого достаточно команды:

Пользователи Arch найдут его через pacman.

В Fedora и производных — просто введите в терминале команду:

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

У rsync много опций, но запоминать их все необязательно. Вот те, что использую чаще всего:

Пример: берем папку «Apple» из загрузок и переносим её в папку «OS» на другом накопителе.

Using rsync to copy a folder from PC to an external drive, creating an incremental backup.

Флаги «-avp» нужны для архивного копирования, подробного вывода и показа процесса. Всё, что осталось — указать откуда и куда копировать.

Есть важный момент: если в конце пути поставить слэш, rsync скопирует только содержимое папки. Нет слэша — скопируется и сама папка вместе с содержимым.

Так я легко клонирую всю домашнюю папку на внешний диск и получаю полную резервную копию. Чтобы обновлять её, просто запускаю ту же команду при необходимости: rsync за пару секунд добавит только новые и изменённые файлы. Реальная экономия времени по сравнению с обычным копированием — ощутимая!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий