mongodb自动备份脚本生成啦。。。
创建备份路径:
#mkdir -pv /data/bak/mongodb
脚本内容,根据mongodump更改对应的路径
#!/bin/bash
#按日期备份mongodb
d=`date +%Y%m%d%H%M`
#$(date +"%Y%m%d%H")
bak_db_name="test_1"
if [ -n "$1" ]
then
bak_db_name=$1
fi
echo "-------开始备份北师大数据库:$bak_db_name---------"
base_folder=/data/bak/mongodb
bak_folder=$base_folder/$d
/root/mongodb-linux-x86_64-2.6.10/bin/mongodump --quiet -h 127.0.0.1:27017 -d $bak_db_name -o $bak_folder
cd ${base_folder}
tar -zcf ${d}.tar.gz ./$d
echo "tar.gz压缩完成: ${base_folder}/$d.tar.gz"
rm -rf $bak_folder
配合crontab -e
添加计划任务:
10 12,18 * * * find /root/mongodb-linux-x86_64-2.6.10/bin/bak.sh >>/data/bak/logs
10 23 * * * find /data/bak/mongodb/ -mtime +7 -type f | xargs rm -rf
每天12点和18点备份,每周自动清理上周备份文件信息。