2026年5月25日
2026年5月25日
tarでディレクトリをバックアップする方法
はじめに
ディレクトリやファイルのバックアップは、システムの安定運営とデータの保護にとって不可欠な作業です。tar コマンドは、Linux スクリプトや一連のコマンドを用いて複数のファイルやディレクトリを圧縮し、容易に管理可能な単一のアーカイブファイルとして保存することができます。この記事では、tar コマンドを使用してディレクトリをバックアップする方法と注意点について説明します。
症状・背景
- システムやアプリケーションの重要なデータが変更または削除された場合
- バージョン管理が必要なソフトウェアのファイルを定期的に保存する必要がある場合
- 既存のディレクトリ構造を再現するためにバックアップが必要な場合
手順・設定方法
ステップ1: バックアップ対象ディレクトリの指定
# /var/www/html/ というディレクトリをバックアップしたい場合
$ tar -cvpzf backup.tar.gz /var/www/html/
# コマンドの説明:
# c: カレントディレクトリからの相対パスでファイルを追加する
# v: バージョン情報を表示する
# p: 権限を保持してアーカイブする
# z: gzip圧縮を行う
# f: アーカイブファイル名を指定する
ステップ2: 特定のディレクトリのみをバックアップ
# /var/www/html/wp-content/uploads というディレクトリだけをバックアップしたい場合
$ tar -cvpzf wp_content_backups.tar.gz /var/www/html/wp-content/uploads/
# コマンドの説明:
# この例では特定のディレクトリのみをバックアップするため、対象となるディレクトリパスが重要です。
ステップ3: バックアップの定期実行
# シェルスクリプトを作成して定期的にバックアップを行う場合
#!/bin/bash
# /var/www/html/ というディレクトリをバックアップする
tar -cvpzf backup_$(date +%Y%m%d).tar.gz /var/www/html/
# 複数のディレクトリを一括でバックアップする場合は以下のように指定します
tar -cvpzf all_backups.tar.gz /var/www/html/ /etc/nginx/
ステップ4: バックアップファイルの確認と復元
# ファイルの一覧を見る
$ tar tzf backup.tar.gz
# 必要なファイルを復元する場合
$ tar -xvpzf backup_20231001.tar.gz -C /tmp/
注意事項
- ファイル名の一致: バックアップファイル名に含める日付は、バックアップの確認や復元時に便利です。
- ディレクトリパスの正確性: バックアップ対象とするディレクトリのパスを正しく指定することが重要です。
- 権限管理: バックアップを行うユーザーは必要に応じて適切な読み取り権限を持つ必要があります。
- スペース確保: 大量のバックアップファイルが存在する場合、ストレージの容量管理に注意が必要です。
まとめ
1. tarコマンドの基本操作: tar コマンドはディレクトリやファイルを一括で管理し、バックアップ作業を効率化します。
2. 特定のディレクトリのみをバックアップ: 特定のディレクトリだけをバックアップする場合、パスを正確に指定することが重要です。
3. 定期的なバックアップ実行: シェルスクリプトを使用して自動的にバックアップを行うことで、運用効率が向上します。
4. バックアップファイルの確認と復元: バックアップファイルの一覧表示や復元を行う際は、適切なコマンドを用いて実施してください。
関連記事: