バックアップは災害復旧の基礎であり、操作エラーやシステム障害によるデータ損失を防ぐために、アプリケーションホストのハードディスクまたはアレイから他のストレージメディアにデータセットのすべてまたは一部をコピーするプロセスを指します。 。この記事では、Linux の mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを主に紹介します。必要な方は参考にしてください。エラーまたはシステム障害。データ損失。アプリケーション ホストのハードディスクまたはアレイからデータ セットのすべてまたは一部を他のストレージ メディアにコピーするプロセス。一部の Web サイトやシステムではデータベースがすべてであるため、データベースをバックアップすることが重要です。
バックアップとは何ですか?
なぜバックアップするのか
災害復旧計画の構築
ストレージメディア
CD
テープ ハード ディスクアレイ
DAS: ダイレクトアタッチドストレージ
NAS: ネットワークアタッチドストレージ
SAN: ストレージエリアネットワーク
クラウドストレージ
ここでは、主にストレージメディアとしてローカルディスクを使用して、スケジュールされたタスクの追加と使用について説明します。基本的なバックアップ スクリプトなど ストレージ メディアは、アクセス方法が異なるだけです。
1. ディスク容量を確認します:
スケジュールされたバックアップであるため、容量不足によるバックアップの失敗やデータ損失の影響を避けるために、十分な容量のあるディスク容量を選択する必要があります。
現在のディスクに保存するのが最も簡単ですが、あまりお勧めできません。サーバーには複数のハード ドライブがあるため、可能であれば、より優れた安全なストレージ メディアを選択することをお勧めします。 2. バックアップ ディレクトリを作成します。
上記のコマンドを使用して、/home に十分なスペースがあることを確認したため、/home にバックアップ ファイルを保存することを検討できます。 3. バックアップ シェル スクリプトを作成します。
次のコマンドの DatabaseName を実際のデータベース名に置き換えるよう注意してください
もちろん、実際の命名規則を使用することもできます。
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% / tmpfs 1.9G 92K 1.9G 1% /dev/shm /dev/sda1 485M 39M 421M 9% /boot /dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home次を入力/貼り付けます:
cd /home mkdir backup cd backupバックアップを圧縮します:
vi bkDatabaseName.sh
注:
ユーザー名を実際のユーザー名に置き換えます。
パスワードを実際のユーザー名に置き換えます。言葉
DatabaseName を実際のデータベース名に置き換えます。
#!/bin/bash mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
実行可能権限を追加した後、まずそれを実行して、スクリプトにエラーがあるかどうかを確認します。
./bkDatabaseName.sh
5. スケジュールされたタスクを追加します
crontab を検出またはインストールします
crontab がインストールされているかどうかを確認します: コマンドが見つからないと報告された場合は、crontab コマンドを実行します。インストールされています
#!/bin/bash mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
yum コマンドを使用して、CentOS にスケジュールされたタスク プログラム crontab をインストールします
rpm コマンドを使用します。 CentOS システムディスクからスケジュールされたタスクプログラム crontab をインストールします
スケジュールされたタスクを追加しますコマンドを実行します:
chmod u+x bkDatabaseName.shこの時点で、vi エディターを使用するのと同じように、スケジュールされたタスクを編集できます。 次の内容を入力して保存します:
# crontab -bash: crontab: command not foundとは具体的にはどういう意味ですか? シェルスクリプト「/home/backup/bkDatabaseName.sh」を毎分実行するという意味です。 6. タスクが実行されるかどうかのテスト は非常に簡単です。「ls」コマンドを数回実行し、1分後にファイルが作成されるかどうかを確認するだけです。
タスクの実行が失敗した場合は、次のコマンドを使用してタスク ログを表示できます:
crontab -e出力は次のようになります:
*/1 * * * * /home/backup/bkDatabaseName.sh概要
以上がLinux で mysql データベースの毎日の自動バックアップとスケジュールされたバックアップを実装する方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。