自行下载 yum install crontabs
- 创建文件夹
mkdir mb_data
mkdir mb_data/crontab
mkdir mb_data/mongodb
mkdir mb_data/mongodb/mongodb_backup_list
mkdir mb_data/mongodb/mongodb_backup_now
- 编写脚本 mb_data/crontab/mongod_backup.sh
#!/bin/sh
DUMP=/usr/bin/mongodump # mongodump备份文件执行路径
OUT_DIR=/mb_data/mongodb/mongodb_backup_now # 临时备份目录
TAR_DIR=/mb_data/mongodb/mongodb_backup_list # 备份存放路径
DATE=`date +%Y_%m_%d` # 获取当前系统时间
DB_USER=1111 # 数据库账号
DB_PASS=2222 # 数据库密码
DB_NAME= # 要备份的数据恢复库名字
DAYS=30 # DAYS=30代表删除30天前的备份,即只保留最近30天的备份
TAR_BAK="mongod_$DB_NAME_bak_$DATE.tar.gz" # 最终保存的数据库备份文件名
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -h 127.0.0.1 --port 27017 --authenticationDatabase admin -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE # 备份全部数据库
tar -zcvPf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE # 压缩为.tar.gz格式
find $TAR_DIR/ -mtime +$DAYS -delete # 删除天前的备份文件
- 修改文件属性,使其可执行
chmod +x /mb_data/crontab/mongod_backup.sh
- 添加定时任务
crontab -e
进入vim的编辑, 点击 i 键盘
*/1 * * * * /mb_data/crontab/mongod_backup.sh #表示每1分钟执行备份
:wq 退出vim编辑
- 重启
service crond reload #重新载入配置
service crond start #启动服务
- 定时任务已经启动了,,去查看文件是否已经生成了
ps:
- 查看当前的crond的任务列表
crontab -l
- 查看crontab的日志
tail -f /var/log/cron
如果遇到(root) MAIL (mailed 54 bytes of output but got status 0x004b#012
的错误
方案:
编辑/etc/postfix/main.cf文件,把inet_interfaces = all这一行前面的注释符号取消。
注释掉inet_interfaces = localhost.
service postfix start.