mbuffer/pv

Ну і ще два кори­сних скри­пта.

Пер­ший — для копі­ю­ва­н­ня гро­мі­зд­ких ката­ло­гів з купою фай­лів:

➜  bin  cat pfcp
#!/usr/bin/env bash
 
tar -cf - $1 | mbuffer -m 8G | tar -x -C $2

Хитрість у тому, що інфа чита­є­ться за раз tar'ом, буфе­ри­зу­є­ться в ОЗП, а потім вида­є­ться зно­ву ж таки tar'у для запи­су в нове місце. Обсяг пам’яті для mbuffer бажа­но під­стро­ї­ти під свої об’єми.

Дру­гий скрипт дає змо­гу швид­ко пере­да­ти цілий ката­лог по ssh без scp (не тре­ба мені нага­ду­ва­ти, що є rsync):

➜  bin  cat pfst 
#!/usr/bin/env bash
 
tar cf - "$1" | pigz --fast -f -c -n | pv | ssh $2 "pigz -d - | tar xf -"

Тут єди­на хитрість в тому, що вико­ри­сто­ву­є­ться бага­то­по­то­чний варі­ант ком­пре­со­ра gz. Можна замі­ни­ти на pbzip2 або pixz, але вони пра­цю­ють наба­га­то повіль­ні­ше за pigz.

Мітки: ,

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

*

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.