#!/bin/bash # MongoDB的账号、密码、端口等信息 mongo_host=$1 mongo_port=$2 mongo_user=$3 mongo_password=$4 # 导出数据的数据库和集合 database_name=$5 collection_name=$6 # 操作 controls=$7 # 导出数据保存的目录 EXPORT_DIRECTORY="/data/jieling/hefu" if [ ! -d "$EXPORT_DIRECTORY" ]; then mkdir -p $EXPORT_DIRECTORY echo "已创建目录 $EXPORT_DIRECTORY" fi if [ "$controls" = "dump" ]; then # 导出数据 mongodump --host "$mongo_host" --port "$mongo_port" --username "$mongo_user" --password "$mongo_password" --authenticationDatabase admin --db "$database_name" --collection "$collection_name" --out $EXPORT_DIRECTORY echo "备份数据库 $database_name $collection_name 完成" elif [ "$controls" = "restore" ]; then # 导入数据的目录 IMPORT_DIRECTORY="/data/jieling/hefu/$collection_name" # 导入数据 mongorestore --host $mongo_host --port "$mongo_port" --username "$mongo_user" --password "$mongo_password" --authenticationDatabase admin --db "$database_name" "$IMPORT_DIRECTORY" echo "导入数据库 $collection_name 到 $database_name 完成" elif [ "$controls" = "drop" ]; then # 清库命令 js_command="db.getSiblingDB('${database_name}').${collection_name}.clear()" #删库 mongo --host "$mongo_host" --port "$mongo_port" --username "$mongo_user" --password "$mongo_password" --authenticationDatabase admin --eval "$js_command" echo "清空数据库 $database_name $collection_name 完成" else echo "操作参数错误!!! $controls" fi