Edit: a follow-up question: Restore mongoDB by --repair and WiredTiger.
My developer committed a huge mistake and we cannot find our Mongo database anywhere in the server.
He logged into the server, and saved the following shell under
#!/bin/sh DUMP=mongodump OUT_DIR=/data/backup/mongod/tmp // 备份文件临时目录 TAR_DIR=/data/backup/mongod // 备份文件正式目录 DATE=`date +%Y_%m_%d_%H_%M_%S` // 备份文件将以备份对间保存 DB_USER=Guitang // 数库操作员 DB_PASS=qq■■■■■■■■■■■■■■■■■■■■■ // 数掘库操作员密码 DAYS=14 // 保留最新14天的份 TARBAK="mongod_bak_$DATE.tar.gz" // 备份文件命名格式 cd $OUT_DIR // 创建文件夹 rm -rf $OUT_DIR/* // 清空临时目录 mkdir -p $OUT_DIR/$DATE // 创建本次备份文件夹 $DUMP -d wecard -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE // 执行备份命令 tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE // 将份文件打包放入正式 find $TAR_DIR/ -mtime +$DAYS -delete // 除14天前的旧备
And then he ran it and it outputted
permission denied messages, so he pressed
Ctrl+C. The server shut down automatically. He tried to restart it but got a grub error:
He contacted AliCloud, the engineer connected the disk to another working server so that he could check the disk. Looks like some folders are gone, including
/data/ where the mongodb is!
- We don't understand how the script could destroy the disk including
- And of course, is it possible to get the
PS: He did not take snapshot of the disk before.
PS2: As people mention "backups" a lot, we have lots of important users and data coming these 2 days, the purpose of this action was to backup them (for the first time), then they turned out to be entirely deleted.