Solaris UNIX Tape Backup And Recovery With tar And cpio Commands

Posted on in Categories , , last updated October 27, 2009

We have recently brought a new Sun Solaris UNIX server. How do I Backup data and make a recovery for the Solaris OS using tar and tape device?

It cannot be stressed enough how important it is to make a backup of your Solaris UNIX system. Most of the actions listed in this post are written with the assumption that they will be executed by the root user running the sh, ksh, or any other modern shell. Use the following tools to backup data to other server.

Sun Solaris UNIX Backup Commands

Sun Solaris UNIX comes with various commands and utilities to make a backup and recovery job:

a) tar command
b) cpio command

Important Directories and Files to Backup

  1. /export/home or /home (Home directory)
  2. /etc
  3. User mailboes
  4. Cron files (/var)
  5. MySQL and Oracle databases etc

Task: Use tar command to backup /data and /home directory

Usually /dev/rmt/0 is tape device name. To create a new tar file you can type the following command (backup /home/, /data/ and, /etc/file1 files to home.back.tar file) :
# tar cvf home-back.tar /home /data /etc/file1

To create a new tape backup use:

Backup /home and /data directory to /dev/rmt/0 tape device, enter:
# tar cvf /dev/rmt/0 /home /data

Task: Display the contents of a tar file/tape

Pass tvf option to a tar command:
# tar tvf home-back.tar
# tar tvf /dev/rmt/0

Task: Restore files from tar file / tape

To extract the tar file to the current directory type:
# cd /
tar xvf home-back.tar
# tar xvf /dev/rmt/0

Understanding tar command options:

  • x : Extract tar file
  • v : Verbose
  • f : filename : Use to specify file name / tape device name
  • t : List tar file contents

Task: Backup files with cpio command

You can also use cpio command, which copies files into and out of a cpio archive. The cpio archive may span multiple volumes. The -i, -o, and -p options select the action to be performed. For example copy all *.c files to tape device or file called prog.cpio:
# ls *.c | cpio -oVc > /dev/rmt/0
# ls *.c | cpio -oVc > prog.cpio

Task: Restore file using cpio

To copy from tape back to a directory, use the command as follows:
# cpio -icvD < /dev/rmt/0
# cpio -icvum < /dev/rmt/0

Task: View the contents of cpio

Use the command as follows:
# cpio -ict < /dev/rmt/0

Understanding cpio command options:

  • i : (copy in) Reads an archive from the standard input and conditionally extracts the files contained in it and places them into the current directory tree.
  • c : Reads or writes header information in ASCII character form for portability.
  • t : Prints a table of contents of the input.
  • o : (copy out) Reads a list of file path names from the standard input and copies those files to the standard output in the form of a cpio archive.
  • v : Verbose
  • u : Use for an unconditional copy; old files will not replace newer versions.
  • m ; Retains previous file modification time.
  • d: Create as many directories as needed.


  • Read Solaris tar, tape and cpio man pages, by typing following command:

man tar
man tape
man cpio

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

1 comment

Leave a Comment