Лучший способ копирования больших папок в Linux. Команда Rsync

Сегодня мы хотим рассказать о том, как лучше всего копировать большие папки в Linux. Хотя многие люди хранят свои файлы в облаке, но у некоторых они все еще на компьютере или на внешних дисках. Иногда это связано с безопасностью или невозможностью доступа к интернету.

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

К тому же, если вы пытаетесь скопировать папку, которая весит, скажем 100 Гб, то использование браузера файлов может оказаться неудобным. А если размер еще больше, то ситуация только ухудшается.

Лучший способ копирования больших папок в Linux это Rsync
Лучший способ копирования больших папок в Linux это Rsync.

Как лучше всего скопировать большие папки в Linux.

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

Во-первых, если в процессе копирования что-то пойдет не так, команда cp не сообщит о том, какая часть процесса была завершена успешно, а какая нет. Во-вторых, вы не сможете следить за процессом копирования в реальном времени. Поэтому, возможно, имеет смысл рассмотреть альтернативные способы копирования больших объемов данных в Linux.

Для таких случаев лучше всего подходит команда rsync

Rsync (сокращение от англ. «remote synchronization«) — это утилита командной строки в Linux, предназначенная для синхронизации и копирования файлов между локальными и удаленными компьютерами, используя протокол SSH. Она позволяет синхронизировать только те файлы, которые были изменены, что делает ее особенно полезной для копирования больших объемов данных.

Rsync может сжимать и шифровать данные в процессе передачи, а также поддерживает удаленное и локальный копирование файлов, архивацию, пропускание файлов по расширению, пропускание скрытых файлов и т.д.

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

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

Поэтому мы рекомендуем использовать именно команду Rsync.

Установка rsync в Linux

Для установки rsync в Debian и Ubuntu требуется выполнить следующую команду.

sudo apt install rsync

Данный инструмент присутствует в официальных репозиториях этих дистрибутивов. Поэтому мы не добавляли репозитории.

Если у вас дистрибутив RHEL, Alma Linux, Rocky Linux и др.

sudo dnf install rsync

Копирование больших папок с помощью rsync

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

Например, чтобы скопировать папку «my_folder» из домашней директории в папку «backup» на внешнем жестком диске, можно использовать следующую команду:

rsync -avz --progress ~/my_folder /mnt/external_drive/backup/

Объясняем опции  этой команде.

-a (archive mode) означает копирование в режиме архива,

-v (verbose mode) включает вывод информации о процессе копирования,

-z (compress) сжимает данные во время передачи.

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

Путь к исходной папке указывается после символа «~/» (сокращение для домашней директории), а путь к целевой папке указывается после пути к внешнему диску.

Дополнительные опции к команде rsync в Linux

  • -a, —archive — используется для копирования файлов и папок с сохранением их метаданных (владелец, права доступа и т.д.), а также для рекурсивного копирования подпапок и файлов.
  • -v, —verbose — используется для вывода подробной информации о процессе копирования, включая имена файлов, размеры и время создания/изменения.
  • -z, —compress — используется для сжатия данных во время копирования, что может помочь ускорить процесс при передаче данных по сети.
  • -h, —human-readable — используется для вывода размеров файлов в человеко-читаемом формате (например, «1.2MB» вместо «1234567»).
  • —delete — используется для удаления файлов на целевом устройстве, которых нет на исходном устройстве.
  • —exclude — используется для исключения определенных файлов или папок из процесса копирования.
  • -P, —progress — используется для вывода информации о процессе копирования в реальном времени, включая оценочное время завершения.
  • —bwlimit — используется для ограничения пропускной способности сети, что может помочь предотвратить перегрузку сети при копировании больших файлов.

Заключение

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

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

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

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

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