Rsync - это популярный инструмент для синхронизации файлов и каталогов между двумя системами. Вы можете использовать его для синхронизации файлов и папок как локально, так и удаленно. Это интеллектуальный инструмент, который вычисляет разницу между двумя файлами и копирует только разницу вместо полной передачи файла. Это экономит пропускную способность сети и повышает скорость работы. По умолчанию rsync не отображает никаких сообщений во время передачи файлов. Иногда вам может понадобиться просмотреть ход выполнения команды rsync, если вы передаете большие файлы и каталоги. В этой статье мы узнаем, как показать прогресс в Rsync.
Как показать прогресс в Rsync
Вот синтаксис команды rsync.
1 | rsync [параметры] [источник] [назначение] |
Есть несколько способов просмотреть прогресс выполнения команды rsync.
1. Использование опции --progress
Вы можете использовать опцию --progress или -P, чтобы заставить rsync отображать информацию о ходе передачи файлов. Вот пример команды.
1 | rsync --progress testdir1/ testdir2/ |
Вы увидите следующий вид вывода.
1 | 100000 75% 220.64kB/s 0:00:03 |
Приведенный выше вывод говорит, что 100000 байт, то есть 75% файлов, были восстановлены со скоростью 220,64 кбит/с и передача файлов завершится через 3 секунды. Но это лишь приблизительная оценка. Когда передача файла завершится, rsync заменит ее реальными значениями.
1 | 1260000 100% 246.38kB/s 0:00:06 (xfer#7, to-check=200/396) |
Как вы можете видеть, фактическая передача заняла 6 секунд. Это делается для каждого файла. xfer#7 указывает, что это 7-й передаваемый файл. to-check=200/396 указывает, что нужно проверить еще 200 файлов.
Если вы хотите увидеть больше деталей, вы также можете использовать опцию --stats в команде rsync.
2. Использование команды pv
Вы также можете использовать команду pv для просмотра хода выполнения команды. Она отображает следующую информацию:
- Текущая пропускная способность
- Прошедшее время
- Общее количество переданных данных
- Процент выполнения с индикатором выполнения
- Расчетное время
Вот команда для установки команды pv в Ubuntu/Debian Linux.
1 | sudo apt install pv |
После ее установки вы можете использовать команду pv для просмотра прогресса или команду rsync.
1 2 3 | 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 |
По сути, мы передаем вывод команды rsync команде pv, чтобы отобразить прогресс в понятной форме. Вот как будет выглядеть ваш вывод.