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

推薦する

CSS でフッターの「下部吸収」効果を実現

よく遭遇する問題: 下部の要素を「下部に貼り付ける」効果を CSS でどのように実現するか。この記事...

MySQL 単一テーブルクエリの例の詳細な説明

1. データを準備するこのテーブルでは次の操作が実行されます 学生テーブルを作成 ( id int ...

ノードでシェルスクリプトを使用する方法

背景開発中、特定の状況でビジネス ロジックをバッチ処理するためのスクリプトが必要になる場合があります...

MacでNodeとnpmを完全にアンインストールする方法

npmアンインストール sudo npm アンインストール npm -g この文に遭遇して npm ...

虫眼鏡の詳細のJavaScript実装

目次1. レンダリング2. 実施原則3. まとめ1. レンダリング 2. 実施原則幅と高さが等しい拡...

MySQLのorder byとlimitを混在させる際の落とし穴の詳細な説明

MySQL では、ソートには order by を、ページングには limit をよく使用します。最...

MySql 5.7.17 無料インストール構成チュートリアルの詳細な説明

1. mysql-5.7.17-winx64.zip インストール パッケージをダウンロードします ...

MySQL 8.0.15 圧縮版インストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.15圧縮版のインストール方法を紹介します。具体的な内容は...

JSブラウザイベントモデルの詳細な説明

目次イベントとは簡単な例イベントをバインドする方法フレームワーク内のイベントイベントオブジェクトイベ...

IE6 ウェブページ作成リファレンス IE6 デフォルトスタイル

これは実際には IE の公式ドキュメントではありません。他の人が実践を通じて開発した IE6 のデフ...

複雑なウェブサイトのナビゲーションを簡素化

<br />ナビゲーション設計は構造設計における主要なタスクの 1 つです。ソフトウェア...

MySQLでテーブルインデックスを構築する方法

目次複数の種類のフィルタリングをサポート複数の範囲のクエリを避ける並べ替えを最適化するインデックスの...

ウェブページのエクスペリエンス: ウェブページのカラーマッチング

<br />ウェブページの色はウェブサイトのイメージを確立する鍵の一つですが、ネットユー...

HTMLはフォームタグを使用して登録ページのサンプルコードを実装します。

ケースの説明: - ページ効果を実現するためにテーブルを使用する- ハイパーリンクを機能させたくない...

JavaScriptアップロードファイル制限パラメータケースの詳細な説明

プロジェクトシナリオ: 1. アップロードファイルの制限関数: 1. フロントエンド操作による異常な...