Хочете створити дамп великої бази даних, без зменшення швидкодії файлової системи?
Або бекап сотні тисяч файлів загальним розміром 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: