Unixコマンド/tar のバックアップソース(No.3)

*&SIZE(15){''tar''}; [#uc7f5106]

**''機能'' [#l6da1309]
複数のファイルをひとつのファイルにまとめることをアーカイブといいます。~
tarコマンドは、指定したファイルや指定したディレクトリ以下のツリーを、テープなどのメディアに~
アーカイブしたり、アーカイブデータを展開するコマンドです。~
~
▼dumpコマンドとの使い分け~
dumpコマンドがファイルシステム単位でバックアップをとるのに対し、tarコマンドは~
任意のディレクトリ以下をアーカイブできるので、システム全体のバックアップは~
dumpコマンドで、それ以外のバックアップはtarコマンドで、といった使い分けができます。

**''構文'' [#t4bea5fc]
tar [オプション] [ファイル名]

**''オプション'' [#j228cbb4]
 c          アーカイブファイルを新規に作成する
 f          指定されたファイルにアーカイブデータを出力する
 t          アーカイブファイルの内容を表示する
 v          ファイル名のほかにタイムスタンプやアクセス権などの詳細な情報を表示する
 x          アーカイブファイルからファイルを取り出す
 z          アーカイブファイルをgzipで圧縮する(FreeBSD・Linux)
 X FILE     FILEに記述されたファイル(フォルダ)を除外する。

**''コマンド例'' [#k4de7a24]
-/etcディレクトリ以下のファイルをフロッピーディスク(/dev/fd0)にアーカイブする
 # cd /etc
 # tar cf /dev/fd0 ./*
-アーカイブ内のファイル名を表示する
 # tar tf /dev/fd0 |head
 etc/X11/
 etc/aliases
 etc/amd.map
 etc/antivir.conf
 etc/apmd.conf
 etc/auth.conf
 etc/avguard.conf
 etc/crontab
 etc/csh.cshrc
 etc/csh.login
-アーカイブ内のファイル名とファイル属性を表示する
 root@vaio# tar tfv /dev/fd0 |head
 drwxr-xr-x root/wheel        0  5 26 06:27 2004 etc/X11/
 lrwxrwxrwx root/wheel        0  9 21 23:27 2004 etc/aliases -> mail/aliases
 -rw-r--r-- root/wheel      208  5 26 06:28 2004 etc/amd.map
 -rw-rw-r-- root/antivir   3623 11 10 07:38 2004 etc/antivir.conf
 -rw-r--r-- root/wheel     1167  5 26 06:28 2004 etc/apmd.conf
 -rw-r--r-- root/wheel      272  5 26 06:28 2004 etc/auth.conf
 -rw-rw-r-- root/antivir   3730 11 10 07:31 2004 etc/avguard.conf
 -rw-r--r-- root/wheel      637  5 26 06:28 2004 etc/crontab
 -rw-r--r-- root/wheel      108  5 26 06:28 2004 etc/csh.cshrc
 -rw-r--r-- root/wheel      486  5 26 06:28 2004 etc/csh.login
-アーカイブデータからファイルを取り出す
 # tar xf /dev/fd0
-特定フォルダを除外する~
workフォルダにa,b,cというフォルダがあるとする
 $ find work
 work
 work/a
 work/a/a.html
 work/b
 work/b/b.html
 work/c
 work/c/c.html
jogaiとうファイルをに除外したいフォルダ名を記述しておく。
 $ echo b > jogai
 $ echo c >> jogai
 $ cat jogai
 b
 c
jogaiファイルで指定したフォルダを除いて圧縮できる。
 $ tar zcvXf jogai backup.tar.gz x
 work/
 work/a/
 work/a/a.html