写任务脚本
#!/bin/sh
DB_HOST="127.0.0.1"
DB_NAME="node_user"
OUT_DIR="/data/backup/mongod_bak/mongod_bak_now" #临时备份目录
TAR_DIR="/data/backup/mongod_bak/mongod_bak_list" #备份存放路径
DATE=$(date +%Y_%m_%d) #获取当前系统时间
echo "-----当前时间为$DATE-----"
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
TAR_BAK="mongod_bak_$DATE.tar.gz" #最终保存的数据库备份文件名
cd $OUT_DIR
echo "-----删除原有备份文件-----"
find $OUT_DIR/ -print
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
echo "-----开始备份全部数据库-----"
mongodump -h $DB_HOST -o $OUT_DIR/$DATE #备份全部数据库,具体可以参照: mongodump --help
echo "-----开始压缩备份文件-----"
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE #压缩为.tar.gz格式
echo "-----删除7天前的备份文件-----"
find $TAR_DIR/ -mtime +$DAYS -delete #删除7天前的备份文件
设置定时任务执行脚本
- 安装 crontabs服务并设置开机自启:
$ yum install crontabs
$ systemctl enable crond
$ systemctl start crond
- 设置定时规则:
vim /etc/crontab
- 保存生效:
crontab /etc/crontab
- 查看任务:
crontab -l
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/eefd11af0594408507782ef0d0dab14f.png)