2026年8月11日
2026年8月11日
バックアップの圧縮・暗号化・転送を一括自動化する方法
ステップ1: 必要なツールと環境の準備
まず、バックアップを圧縮・暗号化・転送するためのツールが必要です。この記事ではtar, gpg, rsyncを使用します。
# tar, gpg, rsyncがインストールされていない場合にインストール
sudo apt-get update && sudo apt-get install -y tar gpg rsync
ステップ2: バックアップの準備と圧縮
ステップ2-1: WordPressデータのバックアップ
WordPressサイトのデータを安全にバックアップするために、/var/www/htmlディレクトリからファイルをコピーします。
# ディレクトリ内の全ファイルをtarで圧縮
tar -czvf /path/to/backup.tar.gz /var/www/html
ステップ2-2: 圧縮されたファイルの暗号化
圧縮されたバックアップファイルは、その後の転送や保存の安全性のために暗号化します。
# GPGを使用してファイルを暗号化
gpg --output /path/to/backup.tar.gz.gpg --symmetric /path/to/backup.tar.gz
ステップ2-3: 暗号化されたファイルの削除
圧縮ファイルは不要になったため、その場で削除します。
# 圧縮ファイルを削除
rm -f /path/to/backup.tar.gz
ステップ3: 転送と保存
ステップ3-1: サーバー間のファイル転送
サーバー間で暗号化されたバックアップファイルを転送するにはrsyncを使用します。ここでは、別のサーバーにファイルをコピーします。
# rsyncを使ってファイルをリモートサーバーに転送
rsync -avz /path/to/backup.tar.gz.gpg user@remote.server:/path/to/destination/
ステップ3-2: ファイルの保存
バックアップが成功したら、目的の場所にファイルを保存します。
# ディレクトリ作成(必要であれば)
mkdir -p /path/to/backup/destination/
# 転送されたファイルを移動させる
mv /path/to/backup.tar.gz.gpg /path/to/backup/destination/
ステップ4: 自動化と監視
ステップ4-1: シェルスクリプトの作成
一連の手順を自動化するために、シェルスクリプトを作成します。
#!/bin/bash
# バックアップディレクトリ
BACKUP_DIR="/path/to/backup"
# WordPressデータディレクトリ
WP_DIR="/var/www/html"
# 保存先ディレクトリ
REMOTE_BACKUP_DIR="user@remote.server:/path/to/destination/"
# ファイル名とパス
TAR_FILE="${BACKUP_DIR}/backup.tar.gz"
GPG_FILE="${BACKUP_DIR}/backup.tar.gz.gpg"
# バックアップ実行
tar -czvf $TAR_FILE $WP_DIR
# 圧縮ファイルの暗号化
gpg --output $GPG_FILE --symmetric $TAR_FILE
rm -f $TAR_FILE # 圧縮ファイル削除
# 転送先のディレクトリ作成
mkdir -p $(dirname "$REMOTE_BACKUP_DIR")
# rsyncを使ってファイルを転送
rsync -avz --progress $GPG_FILE $REMOTE_BACKUP_DIR
rm -f $GPG_FILE # ダイナミックに生成された暗号化ファイル削除
ステップ4-2: シェルスクリプトの実行と定期実行設定
シェルスクリプトを実行し、バックアップを作成します。
# シェルスクリプトを実行
/path/to/backup_script.sh
定期的にこのスクリプトを実行するように設定するためにcronを使用します。
# crontabに追加
echo "0 2 * * * /path/to/backup_script.sh" | sudo tee -a /etc/crontab > /dev/null
# cronサービスの再起動
sudo service cron restart
注意事項
- セキュリティ上の注意: GPGキーの安全性を確保し、適切なアクセス制御を設定してください。
- パフォーマンス/運用上の注意: 重要なデータは頻繁にバックアップし、一貫性のある検証を行うことが推奨されます。
まとめ
1. 必要なツールのインストール: tar, gpg, rsyncがインストールされていることを確認します。
2. WordPressデータのバックアップ: WordPressのデータを安全なフォルダからコピーして圧縮します。
3. ファイルの暗号化と転送: 圧縮されたファイルは暗号化され、サーバー間で転送されます。
4. 自動化と定期実行: シェルスクリプトを作成し、定期的にバックアップを作成します。
関連記事: