mysqlデータベースを定期的にバックアップする

シェルスクリプトの内容は以下の通りです。

シェルスクリプトを通じてデータベースを自動的かつ定期的にバックアップします。

#!/bin/bash

# hs_king データベースをバックアップする

# MySQL 接続情報を設定する

MYSQL_USER="ルート"

MYSQL_PASSWORD="123456"

MYSQL_DATABASE="hs_king"

# バックアップファイルの名前とパスを設定します

BACKUP_PATH="/root/SQL/mysql-file/"

BACKUP_FILENAME="$(日付 +%Y.%m.%d.%H.%M)-${MYSQL_DATABASE}.sql" BACKUP_FILE="$BACKUP_PATH$BACKUP_FILENAME"

# MySQL データベースをエクスポートする

mysqldump -R -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE > $BACKUP_FILE # 期限切れのバックアップ ファイルを削除します: 過去 15 日間

find $BACKUP_PATH -type f -name "*-${MYSQL_DATABASE}.sql" -mtime +15 -exec rm {} \;

# ファイルの作成時刻に基づいて削除します 

スクリプトの認可

chmod +x バックアップ_mysql.sh

crontabでタイミングタスクを追加

crontab -e

*/10 * * * * /root/SQL/backup_mysql.sh

バックアップデータベースを検証する

説明

このシェル スクリプトは、MySQL データベースのバックアップに使用されます。スクリプトの詳細な説明は次のとおりです。

  1. 2~6行目:MySQLに接続するための情報を設定します。実際の状況に応じて変数の値を変更できます。

    • MYSQL_USER: MySQL ユーザー名、ここでは「root」に設定します。
    • MYSQL_PASSWORD: MySQL パスワード、ここでは「123456」に設定されています。実際の状況に応じて変更してください。
    • MYSQL_DATABASE: バックアップするデータベースの名前。ここでは「hs_king」に設定します。
  2. 9行目と10行目:バックアップファイルの名前とパスを設定します。

    • BACKUP_PATH: バックアップ ファイルの保存パス。ここでは「/root/SQL/mysql-file/」に設定されています。ディレクトリが存在し、書き込み権限があることを確認してください。
    • BACKUP_FILENAME: 現在の日付 (年、月、日、時、分) にデータベース名を加えた形式のバックアップ ファイルの名前。
  3. 行 13:mysqldumpコマンドを使用して、MySQL データベースをエクスポートします。

    • -Rパラメーターは、ストアド プロシージャとトリガーをエクスポートするために使用されます。
    • -u$MYSQL_USER -p$MYSQL_PASSWORDMySQL に接続するためのユーザー名とパスワードを指定します。
    • $MYSQL_DATABASEバックアップするデータベースを指定します。
    • > $BACKUP_FILEエクスポートしたデータをバックアップファイルに出力します。
  4. 16行目:期限切れのバックアップファイルを削除します。

    • find $BACKUP_PATH検索するパスを指定します。
    • -type fファイルのみを検索することを示します。
    • -name "*-${MYSQL_DATABASE}.sql"照合するバックアップ ファイル名のパターンを指定します。「*」は任意の文字を表します。
    • -mtime +1515 日を超えて変更されたファイルのみが選択されることを示します。
    • -exec rm {} \;一致したファイルを削除します。

このスクリプトの機能は、指定された MySQL データベースをバックアップし、過去 15 日間のバックアップ ファイルを保持することであり、15 日より古いバックアップ ファイルは自動的に削除されます。このスクリプトを実行する前に、バックアップ ファイルが保存されるディレクトリが作成され、適切な書き込み権限があることを確認してください。なお、スクリプト内のMySQL接続情報やバックアップファイルのパスは実際の環境に合わせて変更してください。

おすすめ

転載: blog.csdn.net/qq_52497256/article/details/131538986