generated from root/miduo_server
43 lines
1.5 KiB
Bash
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
|
|
|
|
|
|
|