2026年7月27日
2026年7月27日
WordPressのデータ保持ポリシーを設定する方法
はじめに
データ保持ポリシーは、企業や組織が業務を適切に行う上で非常に重要な要素です。特にウェブサイトの運営においては、バックアップデータの管理も同様に重要となります。WordPressサイトでは、過去の投稿やコメントなどの履歴データを適切に保存し、古いデータは不要な時に削除するというポリシーが必要となります。
本記事では、このデータ保持ポリシーを設定するための手順について詳しく解説します。また、バックアップスケジューリングやデータのセキュリティ確保といった実践的な方法も紹介しています。
症状・背景
このテーマが必要になる主な場面:
- バックアップデータが散在していて整理が難しい場合
- 古いデータの削除タイミングを設定したい場合
- 保存期間を経過したデータを自動的に削除する機能を追加したい場合
- 個人情報保護法や業界規則に従って、特定のデータの保持期間を管理したい場合
手順・設定方法
ステップ1: データベースのバックアップをスケジューリングする
# WordPressデータベースの全テーブルをダンプするコマンド
mysqldump -u [DB_USER] -p[DB_PASS] [DB_NAME] > /path/to/backup.sql
# cron jobで毎日午前2時にバックアップスクリプトを実行する設定を行う
crontab -e
0 2 * * * mysqldump -u [DB_USER] -p[DB_PASS] [DB_NAME] > /path/to/daily_backup.sql
ステップ2: 古いコメントデータの削除
# WordPressのコマンドラインツールを使用して、過去30日以上前のコメントを削除するスクリプトを作成
wp comment delete --before="1 month ago" --force
# cron jobで毎週月曜日の午前5時に古いコメントデータを自動的に削除する設定を行う
crontab -e
0 5 * * 1 wp comment delete --before="1 month ago" --force
ステップ3: データの圧縮と長期保存
# バックアップファイルを圧縮し、指定されたディレクトリに移動するコマンド
tar -czvf /path/to/backup.tar.gz /path/to/daily_backup.sql && mv /path/to/backup.tar.gz /path/to/archive/
# cron jobで毎月末日の午前0時にバックアップファイルの圧縮と保存を行う設定を行う
crontab -e
0 0 1 * * tar -czvf /path/to/backup.tar.gz /path/to/daily_backup.sql && mv /path/to/backup.tar.gz /path/to/archive/
ステップ4: 定期的なデータの監視と修正
# データベースのスペース使用状況を定期的に確認するためのSQLクエリ
mysql -u [DB_USER] -p[DB_PASS] [DB_NAME] -e "SELECT table_schema 'Database', round(SUM(data_length + index_length) / 1024 / 1024, 1) 'Size (MB)' FROM information_schema.TABLES GROUP BY table_schema;"
# cron jobで毎週日曜日の午前7時にデータベースのスペース使用状況を確認する設定を行う
crontab -e
0 7 * * 0 mysql -u [DB_USER] -p[DB_PASS] [DB_NAME] -e "SELECT table_schema 'Database', round(SUM(data_length + index_length) / 1024 / 1024, 1) 'Size (MB)' FROM information_schema.TABLES GROUP BY table_schema;"
注意事項
- セキュリティ上の問題を避けるために、バックアップファイルやスクリプトは適切な権限で実行できるようにする。
- バックアップの保存先ディレクトリには十分な容量があり、データが上書きされないようにすること。
- 個人情報保護法等に適合したデータ保持期間を設定し、不要になったデータを安全に削除すること。
- スケジューリングに使用するcron jobは、サーバーのタイムゾーンや時間帯に合わせて適切に設定することが重要。
まとめ
1. スケジュールバックアップ: データベース全体または特定のテーブルを定期的にバックアップします。
2. 古いデータの削除: 指定された期間が経過したデータは不要な可能性が高いので、自動で削除する設定を行います。
3. 圧縮と長期保存: バックアップファイルを圧縮し、長期間保存するためのディレクトリに移動させます。
4. 定期監視: 定期的にデータベースのスペース使用状況やバックアップファイルの存在確認を行います。
関連記事: