Поиск по сайту:
Ни одна вещь не является всем тем, чем может быть (Д. Бруно).

Как измерить и показать прогресс копирования rsync в Linux?

28.04.2021
Как использовать Rsync на VPS Linux

Rsync означает «удаленная синхронизация», это бесплатная утилита для синхронизации файлов из командной строки с открытым исходным кодом, используемая для передачи файлов и каталогов в локальные и удаленные места назначения. Это эффективная утилита, поскольку она копирует только изменения из источника. Следовательно, она сводит к минимуму объем данных, копируемых в удаленное место назначения. Используется для резервного копирования данных, зеркального отображения и передачи данных из одного места в другое.

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

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

Это синтаксис основной команды rsync:

$ rsync options SOURCE DESTINATION

 

Например, чтобы скопировать каталог с именем sample и его содержимое в каталог Downloads, команда будет выглядеть так:

$ rsync -av sample/ Downloads/

 

Где опция используется для рекурсивного синхронизации и V используется для подробного вывода.

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

 

Показать прогресс копирования Rsync

Чтобы показать ход процесса копирования Rsync, используйте параметр rsync built-in – progress.

Читать  Как перенести CentOS 8 на CentOS Stream

Вот синтаксис команды:

$ rsync --progress SOURCE DESTINATION

 

Например, чтобы просмотреть прогресс при копировании каталога с именем sample и его содержимого в каталог Downloads, команда будет выглядеть так:

$ rsync -av --progress sample/ Downloads/

 

Где -progress используется, чтобы показать индикатор выполнения переводов, а вариант для рекурсивной синхронизации и V для отображения подробного вывода.

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

В приведенных выше выходных данных вы можете видеть, что средняя скорость передачи составляет 78 078 648,67 байт/сек, общий размер файла составляет 169 746 317 байт, а для завершения передачи потребовалось 1,45 секунды.

 

Показать статистику копирования Rsync

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

$ rsync –progress –stats SOURCE DESTINATION

 

Например, чтобы просмотреть прогресс и статистику при копировании каталога с именем sample и его содержимого в каталог Downloads, команда будет выглядеть так:

$ rsync -av --progress --stats sample/ Downloads/

 

Где -progress используется, чтобы показать индикатор передач, -stats для отображения статистики, вариант рекурсивной синхронизации и v для отображения подробного вывода.

Читать  Использование функций super в Python

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

В этом посте вы узнали, как измерить и показать, как rsync копирует файлы из источника в место назначения. Параметр –progress показывает ход передачи, а параметр –stats отображает статистику передачи файла. Эти параметры дают пользователю возможность посмотреть, когда он передает большие файлы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


4 комментария к Как измерить и показать прогресс копирования rsync в Linux?

  1. Макс:

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

    • Rsync присваивает каждому запущенному процессу уникальный идентификатор PID (Process ID). Вы можете использовать команду ps или pidof, чтобы найти PID процесса rsync, запущенного вашим заданием crontab. Затем, зная PID, вы можете использовать команду top или htop, чтобы отслеживать его работу.

    • Вы можете сделать (в оболочках POSIX, включая bash):

      strace -e open,openat $(ps -o lwp= -LC rsync | sed ‘s/^/-p/’)

      Или в zsh:

      strace -e open,openat -p${^$(ps -o lwp= -LC rsync)}

      Или вfish

      strace -e open,openat -p(ps -o lwp= -LC rsync)

      Или в rc/es:

      strace -e open,openat -p`{ps -o lwp= -LC rsync}

      Чтобы увидеть, что он делает, или

      lsof -ad3-999 -c rsync

      чтобы увидеть, какие файлы он открыл в данный момент.

  2. Макс:

    Благодарю!


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

14 + десять =

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
Под единицей в systemd понимается любой ресурс, о котором система…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: