데이터베이스의 MongoDB 덤프를 어떻게 만듭니 까?
어떤 명령을 사용하고 실행합니까?
사용 mongodump
:
$ ./mongodump --host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log to dump/log
log.errors to dump/log/errors.bson
713 objects
log.analytics to dump/log/analytics.bson
234810 objects
DATABASE: blog to dump/blog
blog.posts to dump/log/blog.posts.bson
59 objects
DATABASE: admin to dump/admin
출처 : http://www.mongodb.org/display/DOCS/Import+Export+Tools
백업을 위해 데이터베이스를 덤프하려면 터미널에서이 명령을 호출하십시오.
mongodump --db database_name --collection collection_name
백업 파일을 mongodb로 가져 오려면 터미널에서 다음 명령을 사용할 수 있습니다
mongorestore --db database_name path_to_bson_file
gzip
하나의 컬렉션을 백업하고 즉시 백업을 압축하는 데 사용할 수도 있습니다 .
mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz
또는 파일 이름에 날짜가있는 경우 :
mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz
업데이트 :
데이터베이스의 모든 컬렉션을 날짜 폴더에 백업합니다. 파일이 압축되어 있습니다 :
mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`
또는 단일 아카이브의 경우 :
mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz
또는 mongodb가 docker 내에서 실행될 때 :
docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz
이 명령은 주어진 데이터베이스를 json 및 bson 형식으로 덤프합니다.
mongodump -d <database name> -o <target directory>
mongodump라는 유틸리티가 있습니다. mongo 명령 행에서 다음을 입력 할 수 있습니다.
>./mongodump
위의 내용은 로컬 호스트의 모든 데이터베이스 덤프를 만듭니다. 단일 콜렉션 덤프를 사용하려면 다음을 수행하십시오.
./mongodump --db blog --collection posts
살펴보기 : mongodump
Mongo가 설치된 폴더 (내 경우 : C : \ Program Files \ MongoDB \ Server \ 3.4 \ bin)에서 관리자 권한으로 명령 프롬프트를 열어야합니다. 전체 데이터베이스를 덤프하려면 다음을 사용하십시오.
mongodump --db database_name
또한 특정 모음 만 덤프하거나 특정 모음을 제외한 모든 모음을 덤프 할 가능성이 있습니다.
하나의 콜렉션 만 덤프하려는 경우 (예 : 사용자) :
mongodump --db database_name --collection users
사용자를 제외한 모든 콜렉션을 덤프하려는 경우 :
mongodump --db database_name --excludeCollection=users
덤프를 아카이브 파일로 출력 할 수도 있습니다.
mongodump --archive=test.archive --db database_name
다음 명령으로 데이터베이스를 덤프하고 복원 할 수 있습니다
mongodb -d <Your_db_name> -o <path of your folder>
예를 들어 내 데이터베이스 이름이 추적 됩니다. 덤프 폴더에 덤프가 있습니다.
mongodb -d tracking -o dump
덤프 복원
mongorestore -d <databasename> <dum_path>
mongorestore -d tracking dump/tracking
Following command connect to the remote server to dump a database:
<> optional params use them if you need them
- host - host name port
- listening port username
- username of db db
- db name ssl
- secure connection out
output to a created folder with a name
mongodump --host --port --username --db --ssl --password --out _date+"%Y-%m-%d"
Backup/Restore Mongodb with timing.
Backup:
sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`
--db
argument for databse name
--out
argument for path of output
Restore:
sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/
--drop
argument for drop databse before restore
Timing:
You can use crontab for timing backup:
sudo crontab -e
It opens with editor(e.g. nano)
3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`
backup every day at 03:03 AM
Depending on your MongoDB database sizes you may soon run out of disk space with too many backups. That's why it's also recommended to clean the old backups regularly or to compress them. For example, to delete all the backups older than 7 days you can use the following bash command:
3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;
delete all the backups older than 7 days
Good Luck.
cmd -->
C:\Program Files\MongoDB\Server\3.2\bin>mongodump.exe --db Dintest
Below command will work to take dump of mongo db .
mongodump -d -o
On Windows : try this one where c:\mongodump is dump file location , It will create metadata in json, and backup in bson format
C:\MongoDB\bin>mongodump -d -o c:\mongodump
Or you can make backup script on Windows, remember to add Winrar to %PATH%
bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"
#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!
Mongo dump and restore with uri to local
mongodump --uri "mongodb://USERNAME:PASSWORD@IP_OR_URL:PORT/DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL
If you do not specify --colletion COLLECTION_NAME, it will dump entire DB.
take mongodb backup for particular db and delete 7 days old backup using bin sh command :-
#!/bin/bash
MONGO_DATABASE="nexgtv_16"
APP_NAME="test"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/mongodbbackups/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
$MONGODUMP_PATH -d $MONGO_DATABASE
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
find /home/mongodbbackups/backups/test/ -mindepth 1 -mtime +7 -delete
Use -v to see progress of backup data
mongodump -v --db dbname --out /pathforbackup/NewFolderforBackupData
you can use it for restore also
mongorestore -v --db dbname --drop /pathforbackup/NewFolderforBackupData/dbname
with multile v like -vvvv you will get more information
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder.gz
참고URL : https://stackoverflow.com/questions/4880874/how-do-i-create-a-mongodb-dump-of-my-database
'Programing' 카테고리의 다른 글
Traceur를 사용하여 ES6 클래스에서 전용 메소드를 구현하는 방법 (0) | 2020.06.28 |
---|---|
공개 정적 최종 필드가있는 클래스와 Java 열거의 장점은 무엇입니까? (0) | 2020.06.28 |
Resharper 4.x 이상 비활성화 및 제거 (0) | 2020.06.28 |
T-SQL에서 문자열의 마지막 문자를 제거 하시겠습니까? (0) | 2020.06.28 |
연관 PHP 배열에서 첫 번째 항목을 얻는 방법은 무엇입니까? (0) | 2020.06.28 |