Вопрос или проблема
Я обнаружил, что общий прогресс rsync
(в некоторой степени) отображается с помощью --info=progress2
, в то время как частичный прогресс (т.е. текущий файл) отображается с помощью --info=progress
(или -P
).
Существует ли способ показать и то, и другое?
Я пробовал такие команды:
rsync -avP --info=progress --info=progress2 --progress src dst
, но это показывает только общий прогресс.
Я использую Ubuntu 14.04.2 с версией rsync 3.1.0, протокол версии 31.
Привет, попробуй выполнить это, если это покажет и то, и другое.
rsync -avz --info=progress2 --progress /source /destination
Ответ или решение
К сожалению, в rsync
нет встроенной возможности одновременно отображать как общий прогресс, так и прогресс для текущего файла. Хотя параметры --info=progress2
и --info=progress
(или -P
) могут быть использованы по отдельности, они не работают совместно. Используя --info=progress2
, вы получите общее состояние передачи, включая скорость и общий прогресс переданных данных, но не сможете видеть прогресс конкретного файла. С другой стороны, --progress
позволяет отслеживать текущий файл, но не показывает общий прогресс.
Возможные решения для отображения прогресса
Вот несколько альтернативных подходов, которые могут помочь вам отслеживать оба аспекта:
-
Используйте несколько запущенных процессов
- Запустите
rsync
дважды в двух отдельных терминалах: один с параметрами--info=progress2
для отображения общего прогресса, и другой с--progress
для отдельного файла. Это, конечно, увеличивает использование ресурсов, но может быть полезно для мониторинга.
# В первом терминале rsync -avz --info=progress2 /source /destination # Во втором терминале rsync -avP --progress /source /destination
- Запустите
-
Используйте обертку на базе скрипта
- Вы можете написать небольшой скрипт на Bash, который будет опрашивать
rsync
и отображать оба типа прогресса. Это более сложный вариант, но вы получите больше контроля над выводом.
- Вы можете написать небольшой скрипт на Bash, который будет опрашивать
-
Мониторинг использования ресурсов
- Используйте инструменты мониторинга, такие как
htop
илиiotop
, для отслеживания активности системы и ресурсов, которые используютсяrsync
. Это может дать вам косвенное представление о процессе передачи, даже если вы не видите прогресса в командной строке.
- Используйте инструменты мониторинга, такие как
-
Советы по использованию rsync
- Всегда тестируйте команды на меньших объемах данных перед выполнением на больших объемах.
- Читайте документацию
man rsync
, чтобы быть в курсе новых функций и возможных обновлений.
Заключение
Хотя rsync
не предоставляет встроенные функции для отображения одновременно общего и частичного прогресса, можно использовать предложенные подходы, чтобы добиться необходимого контроля над процессом синхронизации. Не забудьте также проверить обновления rsync
, так как новые версии могут добавить желаемые функции.