Linux でのデータベースのスケジュールバックアップの実装スクリプト

Linux でのデータベースのスケジュールバックアップの実装スクリプト

シナリオ: サーバーデータベースを毎日定期的にバックアップする必要がある

1. まずバックアップスクリプトの場所を決定する

私はそれを/usr/local/backupに置き、bkDatabase.shという名前を付けました。

2. シェルスクリプトを書く

# 注意すべき点がいくつかあります# 1. -password パスワードに括弧またはアンダースコアが含まれている場合は、パスワードを二重引用符で囲んでください# 2. このスクリプトは、データベース course1 をバックアップして圧縮します# 3. バックアップ ファイルの名前は course で、タイムスタンプが付けられますmysqldump -uroot -ppassword course1 | gzip > /usr/local/backup/course_$(date +%Y%m%d_%H%M%S).sql.gz

3. bashに権限を追加する

chmod u+x bkDatabase.sh

4. スクリプトが正しく実行可能かどうかをテストする

./bkデータベース.sh

5. スケジュールされたタスクを開く

# スケジュールされたタスクを初めて設定する場合、スケジュールされたタスクを編集するためにvimを入力するように求められる場合があります。基本を選択すると、crontab -eを使用できます。

6. 編集コンテンツ

以下に示すように、ここに 3 つのタスクがスケジュールされています。

2番目

# 1分ごとに実行されることを示します。実行されるスクリプトは /usr/local/backup/bkDatabase.sh です。
*/1 * * * * /usr/local/backup/bkDatabase.sh

7. スケジュールされたタスクを表示するcrontab -l

追加が成功したかどうかを確認できます(図を参照)。

バックアップディレクトリでバックアップが成功したかどうかを確認します

8. 穴に足を踏み入れる

スケジュールされたタスクの一部が終了しています。コマンドservice crond statusを使用して、 crondが正常かどうかを確認してください。

正常であればそのまま無視してください。起動しない場合は一度再起動してください。

Linuxのバージョンによって、ディストリビューションにはこのサービスがあります

サービスの再起動コマンド: [root@centos6 /]# service crond restart
サービスコマンドの開始: [root@centos6 /]# service crond start
サービスを停止するコマンド: [root@centos6 /]# service crond stop

ディストリビューションにはこのサービスがありません

サービスを停止: [root@centos6 /]# /etc/init.d/cron stop
サービスを開始します: [root@centos6 /]# /etc/init.d/cron start

サーバーデータの復元

ここには落とし穴が多すぎるので、gz ファイルの解凍方法に注意してください。 ! !

1. まず、スケジュールされたタスクによってバックアップされたデータを解凍します

上記で生成されたcourse_20190511_214326.sql.gzは解凍されていることに注意してください。

# gz ファイルを解凍して course_20190511_214326.sql ファイルを生成します gunzip course_20190511_214326.sql.gz

2. 次にデータをデータベースにインポートします

ターゲット サーバーに必要なデータベースがない場合、データベース ターゲット データベースを作成する必要があります。

# バックアップファイル sql を < 記号を介してコーステーブルに送信します。mysql -u root -p は、mysql データベースの使用を示します。mysql -u root -p course< course_20190511_214326.sql

次にパスワードを入力するように求められます。インポートするMySQLパスワードを入力してください。

上記は、Linux でスケジュールされたデータベース バックアップを実装する方法の詳細です。Linux でのスケジュールされたデータベース バックアップの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

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

<<:  優れた UI (ユーザー インターフェース) デザイナーになるための 20 の道標

>>:  CSS を使用して親コンテナ div を img 画像で埋め、コンテナのサイズを調整する方法

推薦する

ffmpeg コマンドラインを使用してビデオを変換するためのサンプルコード

この記事の本文を始める前に、まず ffmpeg プログラムをインストールする必要があります (Lin...

mysql 8.0.18 mgr のインストールと切り替え機能

1. システムインストールパッケージ yum -y インストール make gcc-c++ cmak...

マークアップ言語 - 画像の置き換え

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Linux でのマルチスレッドプログラミング例の分析

1 はじめにスレッド技術は 1960 年代にすでに提案されていましたが、マルチスレッドがオペレーティ...

最小限のルートファイルシステムを構築するためにbusyboxを移植するための詳細な手順

Busybox: 小さなコマンドが詰まったスイスアーミーナイフ。ステップ1: ディレクトリ構造を作成...

上部の固定ナビゲーションバーによって CSS アンカーの配置がブロックされる問題の解決方法

多くのウェブサイトでは、ユーザーが簡単に検索したり他のページに移動したりできるように、上部にナビゲー...

dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする

前回の記事では、Docker を使用して、コンパイルされた jar パッケージをイメージに組み込む ...

CSS と Bootstrap アイコンを使用して、上下にジャンプするインジケーター矢印のアニメーション効果を作成します。

ページが非常に長い場合は、下にさらにコンテンツがあることをユーザーに知らせるために矢印が必要になるこ...

...

Vue バックグラウンドでステータス ラベルをエレガントに記述する例

目次序文最適化変数の抽出二次包装 el-tag コンポーネント使用要約する序文バックエンドシステムの...

ウィンドウ環境で VScode を使用して仮想マシン MySQL に接続する方法

1. 仮想マシン側1. MySQLの設定ファイルを見つける:sudo vim /etc/mysql/...

jQuery は拡張アニメーションによるナビゲーション バー効果を実装します

展開アニメーション効果のあるナビゲーションバーを設計してカスタマイズし、デモを作成してみました。設計...

MySQL における USING と HAVING の使用法の簡単な分析

この記事では、例を使用して MySQL での USING と HAVING の使用方法を説明します。...

VMware Workstation のインストール (Linux カーネル) Kylin グラフィック チュートリアル

この記事では、VMware WorkstationにKylinをインストールする方法を参考までに紹介...

MySQL 外部キー制約の例の説明

MySQL の外部キー制約は、2 つのテーブル間のリンクを確立するために使用されます。 1 つのテー...