LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています

LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています

概要

バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために、アプリケーション ホストのハード ディスクまたはアレイからデータ セットの全部または一部を他のストレージ メディアにコピーするプロセスを指します。一部の Web サイトやシステムでは、データベースがすべてであるため、データベースをバックアップすることが重要です。

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

這里寫圖片描述

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

這里寫圖片描述

災害復旧計画構築

這里寫圖片描述

ストレージメディア

CD

テープ

ハードディスク

ディスクアレイ

DAS: 直接接続ストレージ

NAS: ネットワーク接続ストレージ

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

クラウドストレージ

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

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

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

現在のディスクに保存するのが最も簡単ですが、あまりお勧めできません。サーバーに複数のハード ディスクがある場合は、別のハード ディスクにバックアップを保存するのが最適です。条件が許せば、より優れた、より安全なストレージ メディアを選択してください。

# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/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% /ブート
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home

2. バックアップディレクトリを作成します。

上記のコマンドから、/home に十分なスペースがあることがわかります。そのため、バックアップ ファイルを /home に保存することを検討できます。

cd /ホーム
mkdir バックアップ
CDバックアップ

3. バックアップ シェル スクリプトを作成します。

次のコマンドの DatabaseName を実際のデータベース名に置き換える必要があることに注意してください。

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

vi bkデータベース名.sh

以下を入力/貼り付けます。

#!/bin/bash
mysqldump -uusername -ppassword データベース名 > /home/backup/データベース名_$(日付 +%Y%m%d_%H%M%S).sql

バックアップを圧縮するには:

#!/bin/bash
mysqldump -uusername -ppassword データベース名 | gzip > /home/backup/データベース名_$(日付 +%Y%m%d_%H%M%S).sql.gz

知らせ:

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

パスワードを実際のパスワードに置き換えます。

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

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

chmod u+x bkデータベース名.sh

実行権限を追加した後、まずスクリプトを実行して、エラーがないか、正常に使用できるかどうかを確認します。

./bkデータベース名.sh

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

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

crontab がインストールされているかどうかを確認します。

crontab コマンドがコマンドが見つからないと報告した場合、コマンドがインストールされていないことを意味します。

# クローンタブ
-bash: crontab: コマンドが見つかりません

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

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

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

スケジュールされたタスクの追加

次のコマンドを実行します:

crontab -e

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

以下を入力して保存します。

*/1 * * * * /home/backup/bkデータベース名.sh

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

これは、シェル スクリプト「/home/backup/bkDatabaseName.sh」が 1 分ごとに 1 回実行されることを意味します。

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

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

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

# テール -f /var/log/cron

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

9月30日 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: 0ancronを開始
9月30日 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: 0anacronが終了しました
9月30日 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly)
9月30日 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: 0anacronを開始
9月30日 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: 0anacronが終了しました
9月30日 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root)
9月30日 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly)
9月30日 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: 0anacronを開始
9月30日 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: 0anacronが終了しました
9月30日 16:15:29 bogon crontab[3598]: (root) 編集終了 (root)

要約する

上記は、Linux での MySQL データベースの毎日の自動バックアップに関する編集者による紹介です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux で毎日データベースの自動バックアップを設定する方法
  • Linux で MySQL データベースを毎日自動的にバックアップする方法
  • Linux で MySQL データベースのスケジュールされたバックアップを実装する簡単な方法
  • Linux は定期的に MySQL データベースをバックアップし、以前のバックアップ ファイルを削除します (推奨)
  • Linux でのデータベースのスケジュールバックアップの実装スクリプト

<<:  Dockerコンテナとローカルマシン間でファイルを転送する方法

>>:  Vue3+TypeScriptはaxiosをカプセル化し、リクエスト呼び出しを実装します

推薦する

CentOS7 で yum を使用して PostgreSQL と PostGIS をインストールする方法

1. yumソースを更新するCentOS7 のデフォルトの yum リポジトリの PostgreSQ...

表示または可視性によってHTML要素を非表示にする

場合によっては、特定の条件に基づいて Web ページ内の HTML 要素を表示するか非表示にするかを...

Tomcat8はcronologを使用してCatalina.Outログを分割します

背景tomcat によって生成された catalina.out ログ ファイルが分割されていない場合...

操作タイムアウトがないときにMySQLサーバーがアクティブに切断される問題を解決します

MySQL サービスを使用する場合、通常の状況では、MySQL のタイムアウト設定は 8 時間 (2...

jQueryはフォーム検証を実装する

jQueryを使用してフォーム検証を実装します。参考までに、具体的な内容は次のとおりです。登録.ht...

Xampp サーバーで MySQL パスワードを変更する方法 (画像付き)

今日、PHP で作業しているときに、Xampp サーバーに付属の mysql データベースを使用する...

MySQL 8.0.25 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.25の最新のダウンロードとインストールのチュートリアルは参考になります。具体的な...

Expressを使用してプロジェクトを自動的にビルドするNode.jsのプロセス全体

1. Expressライブラリとジェネレータをインストールするcmdを開いて、次のコマンドを入力しま...

UbuntuのVimにNERDTreeプラグインをインストールする詳細な手順

NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...

CentOS8 jdk8 / java8 のインストールチュートリアル(推奨)

序文最初はCentOS8でwgetを使ってダウンロードし、解凍して環境変数を設定するつもりだったので...

MySQL のデータ統計に関するヒント

よく使用されるデータベースである MySQL では、多くの操作が必要です。デジタル操作には非常に便利...

ActiveMQ メッセージ サービスを構築するための Docker 学習方法の手順

序文ActiveMQ は、Apache が開発した最も人気があり強力なオープン ソース メッセージ ...

PXEを使用してCentOS7.6を自動的にインストールする方法の詳細なチュートリアル

1. 需要ベースには 300 台の新しいサーバーがあり、CentOS7.6 オペレーティング システ...

Dockerを使用してシンプルなJava開発およびコンパイル環境を構築する方法の詳細な説明

Java 言語には多くのバージョンがあります。一般的に使用されている Java 8 に加えて、一部の...

テーブルリストを破棄するには、標準のdl、dt、ddタグを使用します。

現在、ますます多くのフロントエンド開発者が、元のテーブル レイアウトを xHTML + CSS に置...