miduo_gm/conf/script/hefu_mongo.sh

43 lines
1.5 KiB
Bash

#!/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