Вот несколько команд для копирования каталогов с информацией о прогрессе.
Если есть много маленьких файлов:
cp -av sourcedir targetdir | pv -l -s filecount > logfile
Это будет сообщать о прогрессе в зависимости от количества скопированных файлов.
Вы можете перенаправить, /dev/null
если вам не нужно logfile
.
Используйте следующую команду, чтобы получить filecount
:
find sourcedir | wc -l
Если есть несколько огромных файлов:
tar c sourcedir | pv -s size | tar x -C targetdir
Это сообщит о прогрессе на основе скопированных байтов.
targetdir
должен существовать.
Используйте следующую команду, чтобы получить size
:
du -sh sourcedir
Если вы хотите использовать rsync:
rsync -ai sourcedir/ targetdir/ | pv -l -s filecount > logfile
Получите filecount
как показано выше.
Если вы копируете в той же системе, то rsync -a
практически так же, как cp -a
. Преимущества rsync - это когда вы копируете по сети или обновляете (или сравниваете) предыдущую копию.
Смотрите здесь для более подробной информации: