mongodbデータベースの自動バックアップ
1588 ワード
データは現在、アプリケーションシステムにとってますます重要になっています.これにより、冗長バックアップを行い、データの完全性とリカバリ性を保証する必要があります.このように重要である以上、バックアップを取らなければなりませんが、手動で行うと、時間の無駄になるだけでなく、データの損失につながる可能性があります.最良の方法はもちろん自動的にバックアップを実現することであり、今回は主にmongodbデータベースの自動バックアップについて述べる.
実現構想:
1)バックアップファイル格納フォルダの作成
2)コンパイルスクリプトによるバックアップ
3)タイミングタスクを設定してタイミングバックアップを実現する
1、mongodbバックアップディレクトリの作成
mkdir -p /mongodb/data/mongodb_bak/mongodb/data/mongodb_Bak(一時バックアップファイル格納アドレス)
mkdir -p /mongodb/data/mongodb_bak/mongodb/data/mongodb_List(バックアップファイル格納アドレス)
2、mongodbデータベースの新規バックアップスクリプト
3、ファイルの属性を変更する
chmod +x mongoDB_bak.sh
4、変更/etc/crontab、タイミングタスクの追加
vi/etc/crontab
実現構想:
1)バックアップファイル格納フォルダの作成
2)コンパイルスクリプトによるバックアップ
3)タイミングタスクを設定してタイミングバックアップを実現する
1、mongodbバックアップディレクトリの作成
mkdir -p /mongodb/data/mongodb_bak/mongodb/data/mongodb_Bak(一時バックアップファイル格納アドレス)
mkdir -p /mongodb/data/mongodb_bak/mongodb/data/mongodb_List(バックアップファイル格納アドレス)
2、mongodbデータベースの新規バックアップスクリプト
1. #!/bin/bash
2. #backup MongoDB
3.
4. #mongodump
5. DUMP=/usr/local/mongodb/bin/mongodump
6. #
7. OUT_DIR=/mongodb/data/mongodb_bak/mongodb_bak_now
8. #
9. TAR_DIR=/mongodb/data/mongodb_bak/mongodb_bak_list
10. #
11. DATE=`date +%Y_%m_%d`
12. #
13. DB_USER=user
14. #
15. DB_PASS=123
16. #DAYS=15 15 , 15
17. DAYS=15
18. #
19. TAR_BAK="mongodb_bak_$DATE.tar.gz"
20.
21. cd $OUT_DIR
22. rm -rf $OUT_DIR/*
23. mkdir -p $OUT_DIR/$DATE
24. #
25. $DUMP -h 15.62.32.112:27017 -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" -o $OUT_DIR/$DATE
26. # .tar.gz
27. tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
28. # 15
29. find $TAR_DIR/ -mtime +$DAYS -delete
30.
31. exit
3、ファイルの属性を変更する
chmod +x mongoDB_bak.sh
4、変更/etc/crontab、タイミングタスクの追加
vi/etc/crontab
# 0:0 MongoDB
0 0 * * 6 root /mongodb/data/mongodb_bak/mongoDB_bak.sh