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データベースの定期的なバックアップとリストアが実行できます。