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 画像で埋め、コンテナのサイズを調整する方法

推薦する

Reactマウスの複数選択機能の設定方法

一般的に、リストには選択機能があり、単一選択、二重選択、複数選択が非常に一般的です。カスタム ループ...

Vue + OpenLayers クイックスタートチュートリアル

Openlayers は、WebGIS クライアント向けのモジュール式で高性能かつ機能豊富な Jav...

Linux に nodejs 環境とパス構成をインストールするための詳細な手順

Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...

Nginx 経由で Tomcat9 クラスターを構築し、セッション共有を実現する

Nginx を使用して Tomcat9 クラスターを構築し、Redis を使用してセッション共有を実...

MySQL で explain ステートメントを使用する基本的なチュートリアル

目次1. 概要1. 説明文テスト2. 結果の各列の説明2. ID列の説明1. 環境整備2. expl...

MySQL でパーセンテージと最初の数パーセントを表示する方法

目次必要とする実装コードデータベース数日前、友人からこれを書くのを手伝ってほしいと頼まれました。ただ...

Linux でファイルの種類を理解して識別する方法

序文ご存知のとおり、Linux ではハードディスクやグラフィック カードなどすべてがファイルです。 ...

Docker を使用して開発環境を構築する方法 (Windows および Mac)

目次1. Dockerを使用する利点2. Dockerをインストールする1) LinuxにDocke...

MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明

使用制限クエリ ステートメントを使用する場合、多くの場合、データの最初の数行または中間行を返す必要が...

border-radius 値の設定に関する質問

問題記録今日はプログレスバーに似た小さなコンポーネントを完成させるつもりでした。プロトタイプは次のよ...

HTML TextArea でのフォーマット保存の問題の解決方法

textarea の形式は保存時にデータベースに保存できますが、表示時には /n と相互に変換できな...

1 行または複数行のテキストがオーバーフローしたときに省略記号を表示する CSS を実装する方法

1. 単一行オーバーフロー1. 1 行がオーバーフローした場合、超過部分は表示されます...または、...

Jenkinsはマイクロサービスをパッケージ化してDockerイメージを構築し、実行します。

目次環境の準備始める1. GitLabリモートリポジトリがマイクロサービスプロジェクトを作成する2....

Linuxシステムにmsfをインストールするプロセスの詳細な説明

または、インストールプロセスを自分で書き留めてください。私のサーバーシステムはAliyun Linu...

Reactの状態管理の3つのルールのまとめ

目次序文No.1 焦点No.2 複雑な状態ロジックの抽出No.3 複数状態操作の抽出要約する序文Re...