rsync — популярный инструмент для синхронизации файлов между двумя компьютерными системами. Это ценная утилита для локальной и удаленной синхронизации файлов. Этот инструмент для передачи и синхронизации файлов часто встречается в системах на базе Linux или Unix. Для экономии пропускной способности сети rsync использует тип дельта-кодирования. Эта дельта-кодировка позволяет rsync отправлять только различия между целевым и исходным файлами.
- Вот основной синтаксис команды rsync
- rsync —progress
- Метод 1. Использование параметра —progress для просмотра хода выполнения rsync
- Просмотр статистики rsync
- Метод 2: просмотр хода выполнения rsync с помощью команды pv:
- Вот синтаксис команды pv, которая используется для мониторинга передачи файлов
- Заключение
Вот основной синтаксис команды rsync
$ rsync options Source Destination
Когда вы используете rsync для копирования или синхронизации файла, он обычно не предлагает индикатор выполнения или какие-либо другие индикаторы размера и скорости данных. Иногда вам может потребоваться время от времени проверять статус массовой передачи файлов и ход передачи данных. В этом кратком посте вы узнаете, как проверять прогресс файла rsync и просматривать статистику передачи файлов.
rsync —progress
Для демонстрации практического примера мы создали два тестовых каталога, «testdir1» и «testdir2». «Testdir1» содержит следующее содержимое:
$ ls -l testdir1
Теперь мы синхронизируем каталог «testdir1» и его файлы с «testdir2».
$ rsync -av testdir1/ testdir2/
Рекурсивная синхронизация выполняется с помощью параметра » -a «, а подробный вывод — с помощью параметра » -v «. Например, приведенный ниже вывод отображает подробную информацию о синхронизации файлов между testdir1 и testdir2, но не показывает ход передачи файла rsync.
» —Progres s» или » —P » заставляют rsync распечатать информацию, относящуюся к передаче файлов. Это дает скучающему пользователю что-то посмотреть, пока заканчивается передача огромных файлов. Пока команда rsync передает файл, —progress обновляет ход выполнения следующим образом:
100000 75% 220.64kB/s 0:00:03
Приведенная выше статистика прогресса говорит нам, что место назначения реконструировало 100000 байт или 75% исходного файла со скоростью 220,64 Кбит / с. Следовательно, если текущая скорость сохраняется до завершения процедуры, передача файла завершится за 3 секунды. Однако эти цифры могут вводить в заблуждение. Например, если исходный файл содержит важные файлы, за которыми следуют дополнительные данные, скорость передачи существенно снизится. В таком случае передача файла займет намного больше времени, чем предполагалось.
По завершении передачи файла rsync заменяет прогресс на итоговую панель, которая выглядит так:
1260000 100% 246.38kB/s 0:00:06 (xfer#7, to-check=200/396)
В приведенном выше примере общий размер файла составил 1260000 байт, 246,38 КБ / с — это средняя скорость передачи всего файла, и для завершения потребовалось 6 секунд. Индикатор выполнения в выходных данных также указывает, что во время текущего сеанса rsync это была 7-я обычная передача файлов, и есть еще 200 файлов, которые место назначения должно проверить.
Метод 1. Использование параметра —progress для просмотра хода выполнения rsync
Используйте » —progress » в команде rsync и «-av», чтобы получить сводку в конце передачи файла, состоящую из скорости передачи, отправленных / полученных байтов, скорости передачи и общего размера файла.
$ rsync -av —progress testdir1/ testdir2/
Просмотр статистики rsync
Чтобы получить более подробную информацию о процессе синхронизации файла и его прогрессе, использовать » -stats вариант» с » -Прогрессом » опцией в команде Rsync.
$ rsync -av —progress —stats testdir1/ testdir2/
Метод 2: просмотр хода выполнения rsync с помощью команды pv:
Вы можете использовать команду pv, чтобы отслеживать ход передачи данных по конвейеру. Он содержит следующую информацию:
- Текущая пропускная способность
- Время истекло; истекшее время
- Всего передано данных
- Процент выполнения с индикатором выполнения
- ETA
Запишите приведенную ниже команду для установки » pv » в вашей системе.
$ sudo apt install pv
Вот синтаксис команды pv, которая используется для мониторинга передачи файлов
$ rsync options source dest | pv -lpes Number-Of-Files
$ rsync -vrltD testdir1/ testdir2/ | pv -lep -s 5
Вы также можете использовать следующую команду для той же цели.
$ rsync -vrltD —stats —human-readable testdir1/ testdir2/ | pv -lep -s 5
Заключение
В системах на базе Linux rsync существует как бесплатная служебная программа. Он используется для синхронизации или передачи каталогов и файлов с удаленной системы в локальную, локальную в удаленную или в ту же систему. Иногда вам может потребоваться проверить статус массовой передачи файлов и ход rsync передаваемых данных время от времени. В этой статье вы узнали о двух разных методах отслеживания процесса передачи файла rsync.