查看定时服务状态
service crond status
查看系统分区,主要是为了把备份文件存放到容量大的分区
df -lh
我这里假设/data 系统磁盘比较大。
创建备份文件夹
mkdir /data/dumpData/
拷贝备份工具
复制 MongoDB 的导出工具 mongodump 到 /data/dumpData/ 目录下。此操作需要提前准备好 mongodump ,我这里用的 mongodump 版本是 4.0
创建备份脚本
vim /data/dumpData/schedule.sh
脚本(/data/dumpData/schedule.sh)内容如下
/data/dumpData/mongodump -h XXX.XXX.XXX.XXX -d XXX -u XXX -p XXX -o /data/dumpData/`date +%Y`-`date +%m`-`date +%d`_`date +%H`-`date +%M`_DB/
find /data/dumpData/ -mtime +10 -name "*_DB" -exec rm -Rf {} \;
第一行是执行备份命令
-h 数据库服务器的IP
-d 数据库名称
-u 用户名
-p 用户密码
-o 备份到哪个目录
第二行是删除10天前的备份数据
给脚本添加可执行权限
chmod +x /data/dumpData/schedule.sh
如果上面的方式不行,还可以试试
chmod -R 755 /data/dumpData/schedule.sh
编辑定时器
crontab -uroot -e
定时器追加内容
1 2 * * * /data/dumpData/schedule.sh
这里的意思是每天2点1分的时候去执行 /data/dumpData/schedule.sh 脚本
重启定时器
service crond restart
查看定时器
tail -f /var/log/cron
查看当前文件夹下的文件夹以及大小
du -lh