本文记录一下通过mysqldump进行mysql的定时备份。
一、编写shell脚本进行数据备份
mysqldump -uroot -pxxx -qet DATABASE > DIR "参数-t是指仅备份数据
具体的命令参数参考官方网站:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
为防止备份文件覆盖,使用系统时间命名,以下是获取系统时间的shell脚本
ctime=$(date +"%Y%m%d_%H%M%S")
${ctime}.sql "这就是文件名了
二、通过crontabs设置定时命令:
yum install crontabs
crontab -e
"编辑定时任务,五个*分别代表分 小时 日期 月份 年度
* * * * * /root/COMMOND.sh
"例如要在每月的5日至10日的5点10点12点执行root目录下的common.py的执行文件
0 5,10,12 5-10 * * /usr/bin/python /root/common.py
service crond status "查看服务状态,如果是停止,使用以下命令开启
service crond start
顺便说一下数据恢复,基本上在已存在的项目,导入前需要将之前的数据清理:
"1、登录mysql
mysql -uroot -p
"2、设置不检测外键
SET FOREIGN_KEY_CHECKS=0;
"3、将所有的表的清理语句列出
select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('dbname');
"4、调整格式复制粘贴
"5、将检测外键值设置回来
SET FOREIGN_KEY_CHECKS=1;