centos7定时备份mysql数据库

1、在/opt/mysql目录下新建备份脚本backupDB.sh,文件内容如下:

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export?PATH
#数据库用户名
dbuser='root'
#数据库用密码
dbpasswd='123456'
需要备份的数据库,多个数据库用空格分开
dbname='dbname'
#备份时间
backtime=`date?+%Y%m%d%H%M%S`
#日志备份路径
logpath='/opt/mysql/database_backup/dbname'
#数据备份路径
datapath='/opt/mysql/database_backup/dbname'
#日志记录头部
echo?‘"备份时间为${backtime},备份数据库表?${dbname}?开始"?>>?${logpath}/log.log
#正式备份数据库
for?table?in?$dbname;?do
source=`mysqldump?-u?${dbuser}?-p${dbpasswd}?${table}>?${logpath}/${backtime}.sql`?2>>?${logpath}/mysqllog.log;
#备份成功以下操作
if?[?"$?"?==?0?];then
cd?$datapath
#删除七天前备份,也就是只保存7天内的备份
find?/opt/mysql/database_backup/dbname?-name?"*.sql"?-type?f?-mtime?+7?-exec?rm?-rf?{}?\;?>?/dev/null?2>&1
echo?"数据库表?${dbname}?备份成功!!"?>>?${logpath}/mysqllog.log
else
#备份失败则进行以下操作
echo?"数据库表?${dbname}?备份失败!!"?>>?${logpath}/mysqllog.log
fi
done


2、给备份脚本新增权限

chmod?+x?/opt/mysql/backupDB.sh


3、新增定时执行任务

crontab?-e

//?在文本中加入一行任务即可
//?每天凌晨3点备份一次
0?3?*?*?*?/usr/sbin/bakmysql.sh
//?每隔3分执行(测试时使用)
*/3?*?*?*?*?/usr/sbin/bakmysql.sh


4、启动定时器

/sbin/service?crond?start


定时器常用命令

//?查看已创建的调度任务
crontab?-l

//?启动
/sbin/service?crond?start

//?停止
/sbin/service?crond?stop

//?重启服务
/sbin/service?crond?restart

//?重新加载配置
/sbin/service?crond?reload



同类文章