使用shell脚本定时备份mongo数据库,借助宝塔面板的定时任务来执行
# 在文件中编写如下内容
## 指定到你安装的Mongodb bin目录下的mongodump
dump=/www/server/mongodb/bin/mongodump
## 填写你创建dump_bak文件的绝对路径
out_dir=/www/wwwroot/yh.dev20.cn/dump_bak
## 填写你创建tar_bak文件的绝对路径
tar_dir=/www/wwwroot/yh.dev20.cn/tar_bak
## 记录备份时间
sysdate=`date +%Y%m%d_%H%M%S`
## 设置删除期限,删除30天前的备份
days=30
## 设置最终压缩的文件名称,带有日期
tar_bak="mondodb_bak_$sysdate.tar.gz"
if [ -d $out_dir ];then
cd $out_dir
else
## "文件夹不存在"
sudo mkdir -p $out_dir
cd $out_dir
fi
if [ ! -d $tar_dir ];then
## "文件夹不存在"
sudo mkdir -p $tar_dir
fi
# 删除之前的dump文件
sudo rm -rf $out_dir/*
# 创建新的文件夹存放dump文件
sudo mkdir -p $out_dir/$sysdate
# 导出127.0.0.1机器上的hnyh库的所有表到$out_dir/$sysdate文件夹
$dump -h 127.0.0.1 -d hnyh -o $out_dir/$sysdate
# 压缩$out_dir/$sysdate到目标文件夹
sudo tar -zcvf $tar_dir/$tar_bak $out_dir/$sysdate
# 删除指定期限钱的备份文件
sudo find $tar_dir/ -mtime +$days -delete
echo "===数据库: hnyh 备份完成==="
# 退出
exit
执行数据库备份那里(dump -h 127.0.0.1 -d hnyh -o $out_dir/$sysdate
)根据自己需求来修改
然后在宝塔的定时任务那里添加shell任务
如果脚本不是在宝塔用的话,需要修改 dump=/www/server/mongodb/bin/mongodump
地址为你安装mongo的地址