Linux で MySQL データベースのスケジュールされたバックアップを実装する簡単な方法

Linux で MySQL データベースのスケジュールされたバックアップを実装する簡単な方法

詳細な手順は次のとおりです。

1. ディスク容量を確認します。

[root@localhost バックアップ]# df -h
ファイルシステムの使用済み容量 使用可能 使用済み% マウントポイント /dev/mapper/centos-root 17G 2.7G 15G 16% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /実行
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /ブート
tmpfs 98M 0 98M 0% /run/user/0
[root@localhost バックアップ]#

バックアップファイルを保存する適切なディスクを選択してください

2. バックアップディレクトリを作成します。

cd /ホーム
mkdir バックアップ
CDバックアップ

3. バックアップ シェル スクリプトを作成します。

作成したディレクトリにバックアップ スクリプトを作成します (vi bkDatabaseName.sh)

#!/bin/bash
mysqldump -uroot -proot rtak > /data/backup/rtak_$(日付 +%Y%m%d_%H%M%S).sql
mysqldump -uroot -proot rtak | gzip > /data/backup/rtak_$(日付 +%Y%m%d_%H%M%S).sql.gz

注記:

bkDatabaseName.sh 興味深い名前に置き換えます

SQLバックアップとGZバックアップ、またはフルバックアップを選択できます。

ユーザー名とパスワードを変更する必要があります

4. 実行権限を追加します。

chmod u+x bkデータベース名.sh

ファイルが正常に実行できるかテストします (./bkDatabaseName.sh)

注意:(1)mysqldump: command not foundというエラーが表示された場合は、

ln -fs /usr/local/mysql/bin/mysqldump /usr/bin (/usr/local/mysql は mysql がインストールされているパスです)

(2)警告(警告:コマンドラインインターフェースでパスワードを使用すると安全でない可能性があります)が出た場合は無視してください。

(3)バックアップSQLファイルが正常かどうか、データベースに正常にインポートできるかどうかを確認します。

5. スケジュールされたタスクを追加する

crontab がインストールされているかどうかを確認します。

crontab コマンドがコマンドが見つからないと報告した場合、コマンドがインストールされていないことを意味します。

次のコマンドを実行します:

crontab -e

以下を入力して保存します。

*/* * 1 * * /data/backup/bkデータベース名.sh

/* * 1 * * / いくつかの * は、バックアップ操作が実行される分、時間、日、月、曜日を表します。

例: 1分ごとにバックアップを実行する /1 * * * * / (テスト済み)

毎日午前3時にバックアップを実行します /00 3 * * * / (テストされていません)

6. バックアップ操作を停止する

スケジュールされたバックアップが不要な場合は、この操作を実行すると、手順 5 で通常のプロセスが完了します。

crontab -r

注意: ディスクがいっぱいにならないように、期限切れのSQLバックアップを早めにクリーンアップしてください。

以下もご興味があるかもしれません:
  • MySQL データベースを自動的にバックアップする最良の方法 (Windows サーバー)
  • Linux での crontab スケジュール バックアップの例を使用した MySQL スケジュール バックアップ
  • Linux は定期的に MySQL データベースをバックアップし、以前のバックアップ ファイルを削除します (推奨)
  • 定期的にMySQLをバックアップし、定期的にnginxのアクセスログをカットする方法
  • MySQL スケジュールされたデータベース バックアップ操作の例
  • MySQL スケジュール データベース バックアップ (フル データベース バックアップ) の実装

<<:  MySQL コール初心者が犯しがちな 11 の間違いのまとめ

>>:  JS hasOwnProperty() メソッドは、プロパティがオブジェクト自身のプロパティであるかどうかを検出します。

推薦する

vite2.0+vue3 モバイルプロジェクトの詳細な説明

1. 関連する技術的なポイントバイト版ヴュー3 ts統合ルーティングvuexを統合するAxiosを統...

MySQL のインデックス障害の一般的なシナリオと回避方法

序文これまでにも、一部の SQL ステートメントを不適切に使用すると MySQL インデックスが失敗...

MySQL 重複インデックスと冗長インデックスの例の分析

この記事では、例を使用して MySQL の重複インデックスと冗長インデックスについて説明します。ご参...

テキストまたはJSONを返すようにnginxを設定する方法

特定のインターフェースをリクエストするときに、指定されたテキスト文字列または JSON 文字列を返す...

MySQL の count 関数の正しい使い方の詳細な説明

1. 説明MySQLでは、テーブル内の行の総数を取得する必要がある場合、通常は次の文を使用します。 ...

WangEditor リッチ テキスト コンポーネントを Angular でカプセル化する方法

リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...

Nginx ポート競合を解決するトラブルシューティング方法の例

問題の説明データ転送に Nginx を使用し、フロントエンドとバックエンドが分離された Spring...

1 つの記事で Nginx ロケーション マッチングの実装を理解する

チームはフロントエンドとバックエンドを分離しているため、フロントエンドが Nginx とノード層を引...

Golang を使って Docker API を実際に操作する

目次SDKのインストールローカル Docker の管理コンテナの実行バックグラウンドでコンテナを実行...

CenterOS7 インストールおよび構成環境 jdk1.8 チュートリアル

1. まずcenterosに付属のJDKをアンインストールします rpm-qa|grepopenjd...

CentOS 7.x のマスターおよびスレーブ DNS サーバーの展開

1. 準備例: 2 台のマシン: 192.168.219.146 (マスター)、192.168.21...

clipboard.js の使用法の概要

目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...

Vueは双方向データバインディングを実装します

この記事の例では、双方向データバインディングを実装するためのVueの具体的なコードを参考までに共有し...