8.4.2.2. cpio
The
cpio
utility is another traditional UNIX program. It is an excellent general-purpose program for moving data from one place to another and, as such, can serve well as a backup program.
The behavior of
cpio
is a bit different from tar
. Unlike tar
, cpio
reads the names of the files it is to process via standard input. A common method of generating a list of files for cpio
is to use programs such as find
whose output is then piped to cpio
:
find /home/ | cpio -o > /mnt/backup/home-backup.cpio
This command creates a
cpio
archive file (containing the everything in /home/
) called home-backup.cpio
and residing in the /mnt/backup/
directory.
Note
Because
find
has a rich set of file selection tests, sophisticated backups can easily be created. For example, the following command performs a backup of only those files that have not been accessed within the past year:
find /home/ -atime +365 | cpio -o > /mnt/backup/home-backup.cpio
There are many other options to
cpio
(and find
); to learn more about them read the cpio(1)
and find(1)
man pages.