Web と MariaDB のバックアップとリストア

WebサーバーとMariaDBデータベースのバックアップとリストアを定期的に行う方法です。ここでは、tarコマンドを使用してWebファイルをバックアップし、mysqldumpコマンドを使用してデータベースをバックアップします。

目次

バックアップ

バックアップ用のシェルスクリプトbackup.shを作成します

#!/bin/bash

# 変数
NOW=$(date +"%Y%m%d%H%M%S")
BACKUP_DIR="/backups"
WEB_DIR="/var/www/html"
DB_NAME="your_database_name"
DB_USER="your_database_username"
DB_PASS="your_database_password"

# Webファイルのバックアップ
tar -czf "${BACKUP_DIR}/web_backup_${NOW}.tar.gz" "$WEB_DIR"

# データベースのバックアップ
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "${BACKUP_DIR}/db_backup_${NOW}.sql"

echo "Backup completed at ${NOW}"

変数を適切な値に置き換えてください。

  • DB_NAME: データベース名
  • DB_USER: データベースユーザー名
  • DB_PASS: データベースパスワード

実行権限の設定

シェルスクリプトに実行権限を付与します。

chmod +x backup.sh

定期的にスクリプトを実行

Cronジョブを使用して、定期的にシェルスクリプトが実行されるように設定します。例えば、毎日深夜12時にバックアップを取得する場合は次のように設定します。

cron編集画面を開きます。

crontab -e
0 0 * * * /path/to/backup.sh >> /path/to/backup.log 2>&1

これで、毎日深夜12時にbackup.shが実行され、ログがbackup.logに書き込まれます。

リストア

Webファイルのリストア

tar -xzf /backups/web_backup_${TIMESTAMP}.tar.gz -C /

${TIMESTAMP} を適切なタイムスタンプに置き換えてください。

データベースのリストア

mysql -u your_database_username -p your_database_password your_database_name < /backups/db_backup_${TIMESTAMP}.sql

${TIMESTAMP} を適切なタイムスタンプに置き換え、データベースの認証情報を入力してください。

これで、AlmaLinux上でWebサーバーとMariaDBデータベースの定期的なバックアップとリストアが実行できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次