Понедельник, 21 декабря 2009 г.

cp (progress bar)

Просмотров: 2657 | Подписаться на комментарии по RSS |

Захотелось наблюдать прогресс копирования файлов, те нужна была замена стандартной cp.

Вот что получилось:

dir/file.bin
        1625 100%    9.50kB/s    0:00:00 (xfer#8661, to-check=3/9625)

Для замены выбрал rsync:

%sudo -C /usr/ports/net/rsync install clean

Для копирования пользуемся:

rsync -rv --progress file_in file_out

Небольшое сравнение, что заставило отказаться от этой затеи.

Копирование одного файла размером 1,7G:

результат rsync: 13,82s user 11,99s system 23% cpu 1:47,75 total
результат cp:    0,00s user 5,78s system 4% cpu 1:58,71 total

Много мелких файлов:

результат rsync: 1,59s user 3,48s system 10% cpu 48,672 total
результат cp:    0,04s user 1,33s system 17% cpu 7,915 total

Вывод: не нужно.

Метки: |

Комментариев: 2

  1. 2009-12-22 в 05:13:41 | ixti

    Привет, друг!

    Вообще как бы есть вариант заюзать и strace + awk как в совете по линке: http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/ Хотя имхо правильнее каким-то макаром прикрутить pv (у меня чес говоря только не получилось пока). А вообще самый простой способ если для одного файла, что-то типа:

    $ curl 'file:///home/ixti/some_big_file' -o /dev/null

  2. 2009-12-24 в 04:23:41 | zloidemon

    Тот скрипт не работает за специфичного strace в freebsd, и замедляет скорость копирования в 4 раза.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)