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

推薦する

Linux環境にDocker環境をインストールする(落とし穴なし)

目次インストールの前提条件ステップ1: システムの残りを確認してクリアし、Dockerの依存関係をイ...

SQL ファジー クエリ レポート: ORA-00909: パラメータの数が無効です。解決策

あいまいクエリにOracleデータベースを使用する場合、コンソール エラーは次の図に表示されます。理...

http-proxy-middlewareを使用してNodeでプロキシクロスドメインを実装する方法と手順

目次1. プロキシモジュールをインストールする2. プロキシを設定する1. プロキシモジュールをイン...

Dockerはプライベートライブラリイメージを完全に削除します

まず、インターネット上の一般的な慣行を見てみましょうデフォルトでは、プライベート ライブラリはイメー...

Docker で php-nginx-alpine イメージをゼロから構築する方法

これまでにも Docker 環境でいくつかのプロジェクトを実行したことはありますが、まだイメージをよ...

CSS で画像アダプティブ コンテナを実装するためのサンプル コード

多くの場合、画像をコンテナのサイズに合わせて調整する必要があります。 1. imgタグ方式幅と高さを...

JavaScript es6 における var、let、const の違いの詳細な説明

まず、よくある質問は、ECMAScript と JavaScript の関係は何ですか? ECMAS...

MySQL統計データテーブルの設計方法

目次リアルタイム更新は必要ですか?マテリアライズド ビュー ツール (Flexviews)カウントテ...

Bootstrap 3.0 学習ノートボタンスタイル

この記事では主にボタンのスタイルについて説明します。 1. オプション2. サイズ3. 活動状況4....

判定条件を使用してCSSファイルをインポートする

解決策 1: HEAD に次のコードを挿入するなど、HTML ドキュメントで条件付きインポートを使用...

IdeaでTomcatを起動したときに複数のリスナーが報告される問題を解決する

エラーのスクリーンショット例外が発生した場所が見つかりません。解決策: リソースディレクトリにlog...

MySQLはSQL文を使用してテーブル名を変更します

MySQL では、SQL ステートメント rename table を使用してテーブル名を変更できま...

vue3.0+vant3.0の迅速なプロジェクト構築の実装

目次1. プロジェクトの構築2. Vue3 体験 + Vant 紹介2020年9月18日にvue.j...

Windows ベースの MySQL 8.0.12 のインストール

このチュートリアルは Windows システムにのみ適用されます。インストールしたがまだインストール...

MySQL の pid とソケットの詳細な説明

目次1. pidファイルの紹介2.ソケットファイルの紹介要約:ソケット ファイル: Unix ドメイ...