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

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

実際にバックアップを作成する

先ほど示したディレクトリーの中から/etc、/root、/home、/var/logを対象としてバックアップを取得します。これらのディレクトリーをまとめてgzip形式でアーカイブファイルを作成するコマンドは、次の通りです。この例では、バックアップ保存用のストレージが「/mnt」ディレクトリーにマウントしていると仮定しています。

バックアップ対象となるディレクトリーのパスを相対パスで指定できるように、「cd /」でルートディレクトリーに移動しています。「daytime=$(date +%Y%m%d%H%M)」で、「daytime」変数に現在の日時を「年月日時分」の形式で格納しています。

3行目のコマンドでバックアップを実行します。アーカイブファイル名は「backup-年月日時分.tar.gz」になります。「.tar.gz」の拡張子は、gzip形式で圧縮されたtarのアーカイブファイルを示しています。

「1> backup.log」を付けることで、標準出力を「backup-年月日時分.log」ファイルに保存できます。これで、アーカイブに含まれるファイルの名前がbackup-年月日時分.logファイルに書き込まれます。「2> error-年月日時分.log」で、標準エラー出力を「error.log」ファイルに保存しています。アーカイブファイル作成時に発生したエラーやワーニングがerror-年月日時分.logファイルに書き込まれます。