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 に設定する方法

推薦する

VMware 仮想マシンの 3 つのネットワーク方式と原則 (概要)

1. ブリッジ: デフォルトでは VMnet0 が使用されます1. 原則:ブリッジは、それぞれ 2...

MySQLのレプリケーションとチューニングの原則と方法を分析する

1. はじめにMySQL にはレプリケーション ソリューションが付属しており、次のような利点がありま...

MySQLで指定した時間前にレコードを自動的に削除する方法

イベントについて: MySQL 5.1 では、イベントの概念が導入され始めました。イベントは「時間ト...

クラウドネイティブテクノロジー Kubernetes (K8S) の紹介

目次01 Kubernetes とは何ですか? 02 KubernetesとCompost+Swar...

CSS 境界線の長さ制御機能の実装

以前は、境界線の長さをコンテナーよりも小さくする必要があったときに、div ネストを使用していました...

Vant Uploaderは1枚以上の写真をアップロードするコンポーネントを実装します

この記事では、1枚以上の写真をアップロードするためのVant Uploaderコンポーネントを紹介し...

MySQL InnoDBとMyISAMの違いを簡単に理解する

序文MySQL は、myisam、innodb、memory、archive、example など、...

さまざまなブラウザに対応するためにCSSで指定フォント@font-faceを導入する際の問題

Web ページを作成するときに、特定のフォントを使用したい場合は、 @font-faceを介して参照...

Linux で利用可能なネットワーク インターフェイスを表示する方法

序文Linux システムをインストールした後の最も一般的なタスクは、ネットワーク構成です。もちろん、...

Vue の foreach 配列と js の traversal 配列の書き方の説明

Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...

HTML ページの部分更新の実装コード

イベント応答の更新: 要求されたときのみ更新1. JS HTML DOM または jQuery を介...

Linux サーバーのクイックアンインストールとノード環境のインストール (簡単に始められます)

1.まずnpmをアンインストールする sudo npm アンインストール npm -g 2. ノー...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...

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

この記事ではMySQL 5.7.20のインストールと設定方法を記録し、皆さんと共有します1. MyS...

Vue で wangeditor リッチテキスト編集を使用する際の問題

wangEditor は、JavaScript と CSS に基づいて開発された Web リッチ テ...