2013-07-25 13 views
7

Có lẽ tôi có một sự hiểu lầm hoàn toàn về cách mongodump là nghĩa vụ phải làm việc, nhưng tôi dường như không thể làm điều đó ngoài việc trả lại một lỗi JavaScript execution failed: SyntaxError: Unexpected identifier.Mongodb của "Mongodump" lệnh, javascript thực hiện lỗi

Đây là những gì tôi đang làm:

  • Mongod đang chạy
  • Tôi muốn sao lưu cơ sở dữ liệu được gọi là "mydb"
  • tôi bên trong vỏ Mongo
  • Tôi đã thử các lệnh mongodump --db mydb và nhận được lỗi trên
  • Tôi đã thử cả hai mongodumpmongoexport, cả hai đều có cùng một vấn đề

Tôi đang làm gì sai ở đây?

Trả lời

19

Hãy thử như sau nó sẽ work

i.Open nhà ga

ii. Nhập tên tập tin mongodump --collection --db dbname (Đừng đi bên trong vỏ mongo);

cổng iii.If mặc định là khác nhau (trừ 27.017) sau đó đi cho lệnh sau

mongodump --host mongodb1.example.net --port 37017 --username user --password pass --out /opt/backup/mongodump-2011-10-24 
+2

Ah, không nhận ra bạn đang định làm điều đó từ bên ngoài mongoDb. Làm cho tinh thần, có nó làm việc! – Jascination

+0

Bạn có thể thêm cổng vào máy chủ và sử dụng '-o' cho đầu ra: 'mongodump --host mongodb1.example.net:37017 -o/opt/backup/mongodump-2011-10-24' –

4

mongodump, mongorestore không phải là lệnh của vỏ MongoDB. Nó là riêng biệt mongodb utlity. Bạn có thể tìm thấy nó dưới thư mục bin mongodb.

Thông thường, bạn sẽ cần phải thêm tất cả tiện ích mongodb vào biến Path hệ thống và sau khi sao lưu/khôi phục cơ sở dữ liệu dễ dàng từ bất kỳ vị trí nào trong dòng lệnh hoặc trong thiết bị đầu cuối.

Lệnh của bạn trông có vẻ như là mongodump --db mydb nếu cơ sở dữ liệu của bạn ở trên cổng mặc định (27017).

3

Tôi gặp sự cố khi đang sử dụng kết xuất mông và tôi cũng muốn lưu bãi chứa vào S3. Cuối cùng tôi đã kết thúc với một bash script để lấy mông mong và lưu nó vào S3. Tôi đã sử dụng mongodump để sao lưu.

mongodump -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE 

đâu $MONGO_HOST, $MONGO_PORT$MONGO_DATABASE là các biến bash cho host, portdatabase-name tương ứng. Bạn cũng có thể sử dụng tùy chọn --username user --password pass cho lệnh mongodump nếu bạn có thiết lập tên người dùng và mật khẩu trên cơ sở dữ liệu. Here là tập lệnh lấy vùng mông và lưu nó vào S3 bằng cron.