DNA Cafe | Download | FreeSoftware | Java | Links
自分が作ったソースやデータなどをバックアップしたくなったとき、 あるいはバックアップデータからファイルを取り出すとき、 以下に書いてあることがちょっと役に立ったり、 ヒントになったりすればいいと思う。
定期的なバックアップはきちんとした計画をたてて運用手順を決める必要がある。 なぜならバックアップが実行されなければ、いざというときに役に立たないからだ。 また実際にデータを戻して回復するまでの手順が正しいかを確認しておかないと、 やはりバックアップデータを前にして泣くことになる。
afio は cpio POSIX.1 形式のアーカイブを作成する。 afio は、 tar や cpio を使って作成したアーカイブを圧縮したものよりも、 安全に圧縮されたアーカイブを作成できる。 ライセンスは LGPL である。
現在のパスで圧縮したアーカイブを作成する
$ find . -print | afio -o -v -Z -L logfile archive
圧縮したアーカイブから中身を取り出す
$ afio -i -v -Z archive
圧縮したアーカイブから foobar というファイルを取り出す
$ afio -i -v -Z -y foobar archive
圧縮したアーカイブから現在あるファイルよりも新しいものを取り出す
$ afio -i -v -Z -n archive
圧縮したアーカイブの一覧を見る
$ afio -t -Z archive
圧縮したアーカイブを読んで現在ファイルシステム上にあるものと確認する
$ cd archived_directory
$ afio -r -Z archive
cpio はアーカイブへのファイルのコピーやアーカイブからファイルへのコピーを行なう。
コピーアウトモードでは cpio はファイルをアーカイブへコピーする
$ find . -print | cpio -o -v > archive
コピーインモードでは cpio はファイルをアーカイブやアーカイブの内容のリストからコピーする。
$ cpio -i -d -m -v < archive
$ cpio -i -t < archive # Print a table of contents.
cpio は多くのアーカイブ形式をサポートしている。 特に理由がなければ、バックアップを取るマシン以外のマシンでアーカイブを扱いやすいように、ポータブルな形式にする方がよい。 例えば GNU cpio の場合だと -H 形式 または --format=形式 で形式に odc, newc, crc などを指定する。
tar はアーカイブプログラムであり、 tar ファイルとして知られているアーカイブへ、 ファイルを保存したり、取り出したりするように設計されている。
現在のディレクトリにアーカイブを作成する
$ tar -cvf archive.tar
$ tar -cvf /dev/tape_device . # to tape device
現在のディレクトリへアーカイブからファイルを戻す
$ tar -xvf archive.tar
$ tar -xvf /dev/tape_device # from tape device
$ tar -xvzf archive.tar.gz # GNU tar
$ zcat archive.tar.gz | tar xvf - # non-GNU tar
アーカイブの中身の一覧をリストにして見る
$ tar -tvf archive.tar
$ tar -tvf /dev/tape_device # from tape device
$ tar -tvzf archive.tar.gz # GNU tar
$ zcat archive.tar.gz | tar tvf - # non-GNU tar
以下のツールも役に立つ。
dd は入出力のブロックの大きさを指定して、ファイルを変換したりコピーしたりできる。 このコマンドは GNU fileutils に入っている。
dump はファイルシステム中のファイルを検査し、バックアップが必要かを判断し、
それらのファイルを指定したディスク、テープまたは他の記憶装置の媒体へコピーする。
完全なバックアップの後、増分のみのバックアップを続けてとることができる。
restore コマンドは dump と逆の機能を持つ。
dump の長所はマウントしていないファイルシステムをダンプできること、
それぞれのファイルにアクセスした時刻を保持できること、
そして動作が速いことである。
このツールは BSD 起源である。
gzip は通常のファイルを圧縮してその大きさを小さくする。 圧縮されたファイルは gzip -d, gunzip や zcat によって元に戻すことができる。
bzip2 は gzip と同じく通常のファイルを圧縮してその大きさを小さくする。
bzip2 -d, bunzip2 や bzcat によって元に戻すことができる。
gzip と比べて、特にテキストファイルなどで圧縮率が高いが、速度は遅い。また、ライセンスは独自のものである。