第一步:
不需要用root账号,建文件mongodbak.sh内容如下:
#备份数据库的目录创建
mkdir /home/licheng/mongobak
mkdir /home/licheng/mongobak/now
mkdir /home/licheng/mongobak/list
#跳转到当前目录
cd /home/licheng/mongobak/now
#备份时间
backtime=`date +%Y%m%d%H%M%S`
#删除当前备份下的以前的数据
rm -rf /home/licheng/mongobak/now/$backtime
#备份mongodb数据库
/home/licheng/install-package/mongodb-linux-x86_64-rhel70-3.2.8/bin/mongodump -d
lbparking -u lebo -p hnlebokeji -o/home/licheng/mongobak/now/$backtime
#将mongodb备份文件进行压缩
tar -zcvf /home/licheng/mongobak/list/mongodb_bak_$backtime.tar.gz $backtime
#备份mysql并对文件进行压缩
mysqldump -h localhost -u root -pLeboSQL-8286 lbparking |gzip > /home/licheng/mongobak/list/lbparking$backtime.sql.gz
#删除7天之前的备份文件
find /home/licheng/mongobak/list/ -mtime +7 -delete
exit
第二步:修改文件属性,使其可执行
chmod +x mongodbak.sh
第三步:添加计划任务
用root账修改/etc/crontab,添加计划任务
vim /etc/crontab
每星期六晚上20:30开始执行MongoDB数据库备份脚本
30 20 * * 6 licheng /home/licheng/mongodbak.sh
(如需要加日志的任务计划用如下配置
30 20 * * 6 licheng /home/licheng/mongodbak.sh /home/lebo/debug.log 2>&1)
注意: 1.计划任务配置的环境变量可能与bash的不一样,所以mongodb等命令路径最好写成绝对路径;2.删除目录最好也写成绝对路径,本人可是吸取了强大的教训,一不小心用root删掉了所有系统文件件;**。