shell备份mongodb脚本,适用于宝塔面板

黄良钵

分类: 网站建设 2496 0

使用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的地址

  • 2人 Love
  • 0人 Haha
  • 0人 Wow
  • 0人 Sad
  • 0人 Angry
MongoDB、shell、定时任务、宝塔、自动备份

作者简介: 黄良钵

打赏

博客站长,前端开发工程师

共 0 条评论关于 “shell备份mongodb脚本,适用于宝塔面板”

Loading...