Команда cpio позволяет создавать и распаковывать архивы, или копировать файлы с одного места в другое. cpio может считывать и писать в tar файлы. cpio работает подобно утилите tar, возможно даже лучше.
Как я писал выше, cpio работает подобно tar, но так же может принимать данные с стандартного ввода, например вот таким образом мы используя команду find найдем все файлы с расширением *.c и заархивируем их.
# find / -name "*.c" | cpio -o --format=tar > c-file.backup.tar
# find / -iname "*.pl" | cpio -o -H tar > perl-files.tar
Мы также можем указать имя архива используя опцию -F:
# find / -iname "*.pl" | cpio -o -H tar -F perl-files.tar
Где,
* -o: создать архив
* -F: имя архива
* -H format: Указание используемого формата файла.
* -i: распаковка архива
Вы можете распаковать архив следующей командой:
# cpio -i -F perl-files.tar
Получаем список файлов в архиве:
# cpio -it -F perl-files.tar
Архивируем директорию /home на ленту ( /dev/nst0):
# find /home | cpio -o -H tar -F /dev/nst0
Восстанавливаем бэкап используя следующую команду:
# cpio -i -F /dev/nst0
Бэкапим директорию /home на удаленную систему:
# find /home | cpio -o -H tar -F user@backup.nixcraft.in:/dev/nst0 --rsh-command=/usr/bin/ssh