シェルスクリプトマガジン

第22回 バックアップを取得する(tarコマンド)

tarコマンドによるバックアップ

tarは、アーカイブ(書庫)ファイルを作成するためのコマンドです。アーカイブファイルとは、複数のファイルやディレクトリーを一つにまとめたものであり、バックアップ対象のファイルやディレクトリーのコピーをアーカイブファイルとして別のストレージに毎日保存しておけば、これで日々のバックアップを実施していることになります。
tarコマンドでバックアップ用のアーカイブファイルを作成するときの基本書式は、次のようになります。

sudo tar cvf アーカイブファイル名 バックアップ対象のディレクトリー名やファイル名

tarコマンドに「sudo」コマンドを付けて実行することで、システム管理者しか参照できないファイルをバックアップできます。tarコマンドの後にある「cvf」はオプションです。「c」はアーカイブファイルを新規に作成するオプション、「v」はアーカイブとしてまとめるファイルの一覧を表示するなどの詳細オプション、「f」はアーカイブファイルとして保存するためのオプションです。なお、tarコマンドでは「-」を付けずにまとめてオプションを指定できます。「-」を付けないのは古い記述ですが、一般的に用いられているために通常はこのように指定します。指定する順序を気にする必要はありません。なお、オプションに引数がある場合は「-」を付けて各オプションを一つずつ指定してください。

アーカイブファイル名にパスを含めない場合は、カレントディレクトリーに保存されます。もし、バックアップ用の外付けストレージを用意しているなら、そのストレージをマウントしているディレクトリーのパスを加えてアーカイブファイル名を指定するとよいでしょう。

バックアップ対象のディレクトリー名やファイル名は半角スペースで区切ることで複数指定できます。また、パスを付けて指定すると、そのパスごとアーカイブファイルに保存されます。なお、パスは絶対パスではなく、相対パスで指定します。

基本書式では、圧縮するためのオプションを指定していません。「z」オプションを追加すると「gzip」形式でアーカイブファイルが圧縮されます。「j」なら「bzip2」形式、「J」なら「xz」形式で圧縮されます。