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

推薦する

Reactでカスタムフックを作成する方法を教えます

1. カスタムフックとは何かロジックの再利用簡単に言えば、カスタム フックを使用すると、特定のコンポ...

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

デザインにおけるユーザーエクスペリエンスの背後にある8つのユーザー本能について話す

編集者注: この記事は、Teambition チームの @娄昊川 が寄稿したものです。Teambit...

Windows で MySQL データベースを別のディスクに移動する

序文今日、MySQL をインストールしたところ、データベース ストレージがデフォルトで C ドライブ...

Navicat Premium が MySQL 8.0 に接続してエラー「1251」を報告する問題を解決する方法の分析

長い間何もしていなかった人は、努力をすると一生懸命働いていると思うようになります。 1. 問題Nav...

Vue3 を使用して虫眼鏡効果を実現する方法の例

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. 準備2. 梱包を開始する...

自分のブログを構築しながら学んだこと

<br />ブログを始めて 1 年、私はブログの内外で多くのことを個人的に学びました。ま...

あなたが知らない Linux KDE アプリケーション 11 選

翻訳Kool Desktop Environment の略称。 Linux、Unix、FreeBSD...

Vue スキャフォールディングでのレンダリングを理解する

Vue スキャフォールディングでは、エントリ ファイル main.js の新しい Vue コードに、...

Vue-cliはプロジェクトを作成し、プロジェクト構造を分析します

目次1. ディレクトリを入力してプロジェクトを作成する2. 必要な設定項目を選択します2.1 Vue...

jsを使ってシンプルなディスククロックを実現する

この記事では、参考までに、シンプルなディスククロックを実装するためのjsの具体的なコードを紹介します...

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

MySQL 8.0.21のインストールと設定方法を記録してみんなで共有します。 1. ダウンロード1...

コード標準では、SQL ステートメントに結合が多すぎないようにする必要があるのはなぜですか?

無料ポイントインタビュアー:Linuxを使ったことはありますか?私:はいインタビュアー:メモリ使用量...

jQueryはドロップダウンメニューのスライド効果を実現します

Web ページを作成するときに、クールでスムーズなドロップダウン メニューが必要になることがあります...

XML構文の詳細な説明

1. 文書化ルール1. 大文字と小文字が区別されます。 2. 属性値は引用符(一重引用符または二重引...