cpipe. Копіювання без підвищення навантаження.

Хочете створити дамп великої бази даних, без зменшення швидкодії файлової системи?
Або бекап сотні тисяч файлів загальним розміром 20Гб?
Зробити це непомітно для системи і її користувачів допоможе утилітка cpipe

Її немає в репозиторіях, але установка програми виконується командами make && make install (при наявності gcc).

Приклад 1. Імпортуємо великий дамп в БД, не перевантажуючи файлову систему сервера.

cat DBBACKUP.sql | cpipe -vt -b 10240 -s 2048 | mysql -pPASS -uUSER DB

тут
vt – статистика по оброблених даних cpipe: thru: 59410.100ms at 172.4kB/s ( 158.1kB/s avg) 340.0MB
b – розмір пакету даних, який зчитує cpipe (в Кбайтах)
s – швидкість видачі даних дочірній команді (mysql)

Приклад 2. Слідкуємо за статусом архівації, обмежуємо швидкість.

tar cpf — . | cpipe -vt -b 2048 -s 1024 > /backup/archive.tar

Приклад 3. Розпакування з обмеженням швидкості.

cat /path/to/archive.tar.bz2 | cpipe -vt -b 2048 -s 1024 | tar xjf —

Поки що під питанням можливість реалізації з допомогою cpipe взаємодії багато до багатьох (копіювання). Якщо будуть новини, допишу сюди.

Також, буду вдячний за коментарі з цього приводу.

PS. Хоча, для цього є rsync:

Опубликовано в Команды/утилиты

Рубрики