#!/bin/sh
# dump 命令执行路径,根据mongodb安装路径而定
DUMP=/usr/local/mongodb/bin/mongodump
# 临时备份路径
OUT_DIR=/mnt/backup/mongod_bak/mongod_bak_now
# 压缩后的备份存放路径
TAR_DIR=/mnt/backup/mongod_bak/mongod_bak_list
# 当前系统时间
DATE=`date +%Y-%m-%d`
# 数据库账号
DB_USER=user
# 数据库密码
DB_PASS=password
# 代表删除10天前的备份,即只保留近 10 天的备份
DAYS=10
# 最终保存的数据库备份文件
TAR_BAK="mongod_bak_$DATE.tgz"
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
#$DUMP -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS -d dbname -o $OUT_DIR/$DATE
$DUMP -h 127.0.0.1:27017 -d leanote -o $OUT_DIR/$DATE
# 压缩格式为 .tar.gz 格式
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE --remove-file
# 删除 10 天前的备份文件
find $TAR_DIR/ -mtime +$DAYS -delete
#发送邮件
echo "邮件正文内容: $TAR_DIR/$TAR_BAK" | mail -v -s "mongodb备份文件" -a $TAR_DIR/$TAR_BAK 123456789@163.com,123456789@qq.com
exit
mail 配置
vi /etc/mail.rc
set from=123456789@qq.com # 发送的邮件地址
set smtp=smtps://smtp.qq.com:465 # 发送邮件服务器
set smtp-auth-user=987654321@qq.com # 发件人账号
set smtp-auth-password=ekxlhvzzbsirdedb # 发件人密码
set smtp-auth=login # 邮件认证方式
#set smtp-use-starttls # 邮件加密方式
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
网友评论