2026年6月17日
2026年6月17日
WordPressのデータベースバックアップをcronで自動化する方法
はじめに
ここでは、WordPressサイトのデータベースを定期的に自動でバックアップするための方法について解説します。データベースバックアップはサイト運用において非常に重要であり、突然のシステム障害や攻撃からデータを保護するために必要なステップです。
この記事ではcronジョブを活用してバックアップを自動化することで、手動でのバックアップ作業の労力を削減し、安定したウェブサイト運営を行うことができます。また、バックアップスケジュールや保存先の設定方法も説明します。
症状・背景
このテーマが必要になる主な場面:
- バックアップ作業を自動化したい
- データベースが定期的に更新されるWordPressサイト
- システム障害やデータ損失からウェブサイトを保護する必要がある
- 他の重要なタスクとバックアップの同期管理が必要
手順・設定方法
ステップ1: WordPressサイトへのSSHアクセス取得
# SSH接続コマンド
ssh username@yourserver.com
# パスワードを入力してログインします。
ステップ2: MySQLデータベースからバックアップを作成するスクリプト作成
# バックアップスクリプトの生成
nano /path/to/backup_script.sh
# スクリプト内容例:
mysqldump -u yourdbuser -pyourpassword yourdbname > /path/to/backupfile.sql
ステップ3: cronジョブを設定して自動実行する
# crontabファイルを開く
crontab -e
# 毎日午前2時にバックアップスクリプトを実行する例:
0 2 * * * /path/to/backup_script.sh
ステップ4: セキュリティとパフォーマンスの考慮事項
# バックアップファイルの圧縮と保存先ディレクトリーの作成
mkdir -p /path/to/backups
/path/to/backup_script.sh | gzip > /path/to/backups/`date +%Y-%m-%d`.sql.gz
# ストレージスペースを管理するため、古いバックアップファイルを削除
find /path/to/backups/*.gz -mtime +30 -exec rm {} \;
注意事項
- 対象のデータベース名とユーザー情報を正確に入力してください。
- バックアップスクリプトのパスやcronジョブの設定は、環境に応じて適切に調整してください。
- 定期的なバックアップを実施することで、システム障害時の復旧時間を短縮できます。
- セキュリティ上の注意点として、データベースアクセス情報は暗号化した通信経由や安全な場所で管理すること。
まとめ
1. SSH接続: WordPressサーバーにログインするための手順を確認します。
2. mysqldumpコマンド: MySQLからバックアップを作成するための基本的なコマンドです。
3. cronジョブ設定: バックアップスクリプトが定期的に実行されるように設定します。
4. 圧縮と保存先管理: セキュリティとパフォーマンスを考慮したバックアップファイルの管理を行います。
5. 古いデータ削除: ストレージスペースを節約するために、一定期間経過したバックアップファイルを定期的に削除します。
関連記事: