Linux で毎日データベースの自動バックアップを設定する方法

Linux で毎日データベースの自動バックアップを設定する方法

この記事では、Centos7.6 システムと Oracle11g を例に挙げます。

1. まずデータベース環境変数を見つける

ルートアカウントの場合は、まずデータベースが配置されているアカウントにログインする必要があります。

suオラクル
猫 ~/.bash_profile 

エクスポートPATH
エクスポート ORACLE_BASE=/home/nnc_db/app
エクスポート ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
PATH=$PATH:$ORACLE_HOME/bin をエクスポートします。
エクスポート ORACLE_SID=orcl

環境変数が見つかりました!

2. バックアップスクリプトファイルを編集する

vi bak.sh

まず環境変数をコピーしてbak.shファイルに貼り付けます。

次に、変数 date (毎日のバックアップ ファイルに簡単に識別できる名前を付ける機能) を定義し、expdp コマンドを使用してデータベースをエクスポートします。コードは次のとおりです。

日付=$(日付 +%Y%m%d)
expdp データベース アカウント/データベース パスワード@データベース インスタンス名 dumpfile=${date}_db_auto_backup.dmp schemas=データベース アカウント名 compression=all

保存して終了します。

3. Linuxのcrontabコマンドを使用してスケジュールされたタスクを設定する

crontab -e

crontab -e の機能は、テキスト エディターを使用してスケジュールされたタスクを設定することです (crontab の具体的な使用法についてはここでは説明しません)。

テキストエディタに入力

0 0 * * * /home/nnc_db/bak.sh

上記のコードは、2 番目の手順で作成されたファイルである/home/nnc_db内の bak.sh ファイルが毎日 0:00 に実行されることを意味します。これは、独自のバックアップ時間とファイル ディレクトリに応じて調整する必要があります。

次にcrondサービスを再起動します

service crond restart

4. タスクが正常に実行されるかどうかをテストする

ネットで集めた情報によると、crontab -e は設定後 3 分経たないと有効にならないという友人もいました。つまり、午前 10 時にタスクを設定し、それが成功するかどうかをテストしたい場合、次のスケジュールされたタスクを 10:02 に設定すると、問題が発生する可能性があります。しかし、ここでは

* * * * * /home/nnc_db/bak.sh

1 分ごとに実行するように設定しましたが、問題は見つかりませんでした。

初心者にとってもう一つの大きな落とし穴は、スクリプトファイルを直接実行すると、詳細なプロセスがコマンドラインに出力されるものの、スケジュールされたタスクを実行するように設定しても応答がないことです。したがって、スクリプトが自動的に実行されているかどうかを確認したい場合は、図に示すように、 /var/spool/mail/のログファイルを確認する必要があります。

要約する

上記は、Linux で毎日データベースの自動バックアップを設定するために私が紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

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

<<:  要素複数フォーム検証の実装

>>:  mysql5.7 のエンコーディングを utf8mb4 に設定する方法

推薦する

Linux md5sumコマンドの使い方

01. コマンドの概要md5sum - MD5検証コードを計算して検証するmd5sum コマンドは、...

Ubuntu システムに Theano と Keras をインストールする方法

注: システムは Ubuntu 14.04LTS、32 ビット オペレーティング システムです。Py...

Node.js における非同期プログラミングの知識ポイントの詳細な説明

導入JavaScript はデフォルトでシングルスレッドであるため、コードは並列実行するための新しい...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

Spring環境を構成するためのDocker-composeの手順

最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...

Webフロントエンドのパフォーマンス最適化

ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...

Alibaba Cloud OSS によってアップロードされた Nginx プロキシ転送実装コード

序文ミニプログラムのアップロードには https が必要なので、サーバーの https は lets...

CentOS7にPHP7 Redis拡張機能をインストールする方法

導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...

Nginx バージョンのスムーズなアップグレードソリューションの詳細説明

目次背景: Nginx スムーズ アップグレード ソリューションフォールバック手順要約する背景:負荷...

Js でオブジェクトのディープ オブジェクトを安全に取得するメソッドの例

目次序文文章パラメータ例Lodash 実装:トーキー機能: castPath関数: stringTo...

Vue の基本入門: Vuex のインストールと使用

目次1. vuexとは何か2. インストールと導入3. vuexの使用4. プロセスの紹介5. 突然...

line-height=height要素の高さだがテキストが垂直方向に中央揃えされない問題を解決する

まず、行の高さが要素の高さと等しい場合にテキストが垂直方向に中央揃えにならない理由を説明します。実際...

MySQL 8.0.11 の詳細なインストール手順

この記事では、参考までにMySQL 8.0.11のインストール手順を紹介します。具体的な内容は次のと...

「いいね!」機能では MySQL と Redis のどちらを使用すればよいでしょうか?

目次1. 初心者が陥りがちな間違い2. Iteratorのremove()メソッドを使用する3. f...

MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)

開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...