ホームページ  >  記事  >  データベース  >  Linux で mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを実装する方法の詳細な例

Linux で mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを実装する方法の詳細な例

黄舟
黄舟オリジナル
2017-09-05 13:22:481417ブラウズ

バックアップは災害復旧の基礎であり、操作エラーやシステム障害によるデータ損失を防ぐために、アプリケーションホストのハードディスクまたはアレイから他のストレージメディアにデータセットのすべてまたは一部をコピーするプロセスを指します。 。この記事では、Linux の mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを主に紹介します。必要な方は参考にしてください。エラーまたはシステム障害。データ損失。アプリケーション ホストのハードディスクまたはアレイからデータ セットのすべてまたは一部を他のストレージ メディアにコピーするプロセス。一部の Web サイトやシステムではデータベースがすべてであるため、データベースをバックアップすることが重要です。

バックアップとは何ですか?

なぜバックアップするのか

Linux で mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを実装する方法の詳細な例

災害復旧計画の構築

Linux で mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを実装する方法の詳細な例

ストレージメディア

Linux で mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを実装する方法の詳細な例CD

テープ ハード ディスクアレイ

DAS: ダイレクトアタッチドストレージ

NAS: ネットワークアタッチドストレージ

SAN: ストレージエリアネットワーク

クラウドストレージ

ここでは、主にストレージメディアとしてローカルディスクを使用して、スケジュールされたタスクの追加と使用について説明します。基本的なバックアップ スクリプトなど ストレージ メディアは、アクセス方法が異なるだけです。

1. ディスク容量を確認します:

スケジュールされたバックアップであるため、容量不足によるバックアップの失敗やデータ損失の影響を避けるために、十分な容量のあるディスク容量を選択する必要があります。

現在のディスクに保存するのが最も簡単ですが、あまりお勧めできません。サーバーには複数のハード ドライブがあるため、可能であれば、より優れた安全なストレージ メディアを選択することをお勧めします。 2. バックアップ ディレクトリを作成します。

上記のコマンドを使用して、/home に十分なスペースがあることを確認したため、/home にバックアップ ファイルを保存することを検討できます。 3. バックアップ シェル スクリプトを作成します。


次のコマンドの DatabaseName を実際のデータベース名に置き換えるよう注意してください

もちろん、実際の命名規則を使用することもできます。

# df -h
Filesystem     Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs       1.9G 92K 1.9G 1% /dev/shm
/dev/sda1      485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home

次を入力/貼り付けます:


cd /home
mkdir backup
cd backup

バックアップを圧縮します:

vi bkDatabaseName.sh
注:

ユーザー名を実際のユーザー名に置き換えます。

パスワードを実際のユーザー名に置き換えます。言葉

DatabaseName を実際のデータベース名に置き換えます。

4. 実行可能権限を追加します。


#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

実行可能権限を追加した後、まずそれを実行して、スクリプトにエラーがあるかどうかを確認します。
./bkDatabaseName.sh

5. スケジュールされたタスクを追加します

crontab を検出またはインストールします

crontab がインストールされているかどうかを確認します: コマンドが見つからないと報告された場合は、crontab コマンドを実行します。インストールされています

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

crontab がまだインストールされていない場合は、最初にインストールする必要があります。具体的な手順については、次を参照してください。

yum コマンドを使用して、CentOS にスケジュールされたタスク プログラム crontab をインストールします

rpm コマンドを使用します。 CentOS システムディスクからスケジュールされたタスクプログラム crontab をインストールします

スケジュールされたタスクを追加しますコマンドを実行します:

chmod u+x bkDatabaseName.sh

この時点で、vi エディターを使用するのと同じように、スケジュールされたタスクを編集できます。

次の内容を入力して保存します:


# crontab
-bash: crontab: command not found

とは具体的にはどういう意味ですか?

シェルスクリプト「/home/backup/bkDatabaseName.sh」を毎分実行するという意味です。

6. タスクが実行されるかどうかのテスト

は非常に簡単です。「ls」コマンドを数回実行し、1分後にファイルが作成されるかどうかを確認するだけです。


タスクの実行が失敗した場合は、次のコマンドを使用してタスク ログを表示できます:

crontab -e

出力は次のようになります:


*/1 * * * * /home/backup/bkDatabaseName.sh

概要

以上がLinux で mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを実装する方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。