Linuxはデータベースのタイミングバックアップを実現
4495 ワード
プロジェクトでは、データが非常に重要であることが多く、データベースのリアルタイムバックアップが必要です.幸いなことに、Linuxはこのような機能をサポートしています.この文書では、データベースのバックアップをタイミングよく実現する方法について説明します.
上記のスクリプトの最初の行はバックアップです.sqlファイル、2行目は圧縮パッケージを生成し、自分のニーズに応じて選択します.次のようになります. UserNameデータベースユーザー名 PassWordデータベースパスワード DatabaseNameデータベース名
スクリプトに実行可能権限を追加するには、次の手順に従います.
ここではLinuxの
CentOSシステムを使用しています.以下のコマンドをインストールします.-l:ユーザーのすべての設定をリスト -e:ユーザの設定を編集する
この行のコードは、毎日8時にスクリプトを実行することを意味します.
ここでプロファイルの各列の具体的な意味については、crontabコマンドを参照してください.ここでは説明しません.
このタイミングタスクは私が数日前に作成したもので、ここ数日で生成されたバックアップファイルがあり、データベースのタイミングバックアップが完了しました.
一、バックアップフォルダの作成
/home
へのバックアップを例に、backupフォルダを作成します.[root@iZuf643t8c5urcnhm494emZ ~]# cd /home
[root@iZuf643t8c5urcnhm494emZ home]# mkdir backup
[root@iZuf643t8c5urcnhm494emZ home]# ls
backup
二、バックアップスクリプトプログラムの作成
#!/usr/bin/bash
mysqldump -uUserName -pPassWord DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uUserName -pPassWord DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
上記のスクリプトの最初の行はバックアップです.sqlファイル、2行目は圧縮パッケージを生成し、自分のニーズに応じて選択します.次のようになります.
backup
フォルダに入り、タイミング実行用のスクリプトプログラム(スクリプト名は必要ありません)を作成し、express_manager_system
データベースのバックアップを例に、私の例を示します.[root@iZuf643t8c5urcnhm494emZ home]# cd backup/
[root@iZuf643t8c5urcnhm494emZ backup]# vim bkexpress_manager_system.sh
#!/usr/bin/bash
mysqldump -uroot -proot express_manager_system > /home/backup/express_manager_system_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uroot -proot express_manager_system | gzip > /home/backup/express_manager_system_$(date +%Y%m%d_%H%M%S).sql.gz
スクリプトに実行可能権限を追加するには、次の手順に従います.
[root@iZuf643t8c5urcnhm494emZ backup]# chmod +x bkexpress_manager_system.sh
三、タイミング実行スクリプトプログラム
ここではLinuxの
crontab
コマンドを使用して、まずインストールの有無を検出します.[root@iZuf643t8c5urcnhm494emZ backup]# crontab -l
-bash: /usr/bin/crontab:
CentOSシステムを使用しています.以下のコマンドをインストールします.
[root@iZuf643t8c5urcnhm494emZ backup]# yum install -y crontabs
crontab
次の2つのパラメータを使用します.crontab -e
コマンドを実行し、次のコードを追加して、スクリプトのコマンドをタイミングよく実行します.0 8 * * * /home/backup/bkexpress_manager_system.sh
この行のコードは、毎日8時にスクリプトを実行することを意味します.
ここでプロファイルの各列の具体的な意味については、crontabコマンドを参照してください.ここでは説明しません.
[root@iZuf643t8c5urcnhm494emZ backup]# ls
bkexpress_manager_system.sh
express_manager_system_20171029_080001.sql
express_manager_system_20171029_080001.sql.gz
express_manager_system_20171030_080001.sql
express_manager_system_20171030_080001.sql.gz
このタイミングタスクは私が数日前に作成したもので、ここ数日で生成されたバックアップファイルがあり、データベースのタイミングバックアップが完了しました.