赞
踩
mkdir DB
vi database_mgcr_bak.sh
填加下面的内容进上面的文件 ,为了不占内存 备份过程中压缩文件
- #!/bin/bash
- echo '##########################################'
- echo '###### 每天凌晨02:00 自动备份数据库 ######'
- echo '##########################################'
-
- # 设置环境变量
- DATE=$(date +%Y%m%d)
- USERNAME=用户名
- PASSWORD=密码
- DB=数据库名
- DIR=/datadrive/DB/bak
- echo '获取系统日期:' $DATE
-
- if [ ! -d "$DIR" ]; then
- mkdir $DIR
- fi
-
- cd $DIR
-
- echo '开始备份...' $(date "+%Y-%m-%d %H:%M:%S")
-
- /usr/bin/mysqldump -u$USERNAME -p$PASSWORD $DB | gzip > 数据库名_$DATE.sql.gz
-
- echo '备份完成' $(date "+%Y-%m-%d %H:%M:%S")
这样要注意 mysqldump命令是否是在该目录中/usr/bin/mysqldump;
同时要根据自己的服务器,把备份的数据存放到数据盘中DIR=/datadrive/DB/bak(/datadrive/DB/bak根据自己服务器自行进行调整);
find / -name mysqldump -print
ln -fs /datadrive/mysql/bin/mysqldump /usr/bin
chmod +x database_mgcr_bak.sh
如果不报错说明可以正常执行,接下来就是将脚本添加到定时任务当中去
证明文件已经生成了
crontab -e
- 00 2 * * * sh /datadrive/DB/database_mgcr_bak.sh
- 30 1 * * * /usr/bin/sh /datadrive/DB/rm_database_mgcr_bak.sh
退出保存后,显示如下:
这里要特别注意,修改了定时任务后,需要重启crond可以使她立即生效,当然,也可以不用重启,他会每一分钟读取一次,所以不用重启也可以。
重启命令:
- service crond start
-
- service crond stop
service crond status
如果没有启动,则可以使用该命令进行启动
service crond start
如果出现了crontab定时任务不执行的情况,首先需要定位问题,那么就需要通过日志来确定问题所在。
crontab的日志位置一般位于/var/log/cron,利用下面的语句即可查看日志。
less /var/log/cron
#10.如何每天定时删除之前备份的文件,请看下一篇文章
centos7每天定时删除备份mysql文件_u011442726的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。