Linux_Centos7_设置MySql定时备份

一、查看是否安装了必要的组件

[root@localhost /]# rpm -qa | grep cron
cronie-1.4.11-14.el7_2.1.x86_64
cronie-anacron-1.4.11-14.el7_2.1.x86_64
crontabs-1.11-6.20121102git.el7.noarch

如果没有,执行

[root@localhost system]# yum install vixie-cron
[root@localhost system]# yum install crontabs

二、基本命令

[root@localhost /]# /sbin/service crond start|stop|restart|reload
# 查看状态
[root@localhost /]# service crond status

三、创建定时任务

[root@localhost /]# vi /usr/sbin/bakmysql
...
# mysql用户名
db_user="root"
# mysql密码
db_passwd="root"
# 要备份的数据库名称
db_name="backdb"
# 备份位置
backup_dir="/home/back/mysql_back"
# 文件名设置为时间格式
time="$(date +"%Y%m%d%H%M%S")" 
/usr/local/mysql/bin/mysqldump -u$db_user -p$db_passwd $db_name > "$backup_dir/$db_name"_"$time.sql"
...
注: -p 和 $db_passwd之间没有空格,不然$db_passwd会被当做参数[数据库名]来解析
注: /usr/local/mysql/bin/为mysql安装目录,必须如此使用否则有可能备份为空

四、修改文件bakmysql属性,使其可执行

[root@localhost /]#  chmod +x /usr/sbin/bakmysql

五、使用crontab 创建定时任务  

[root@localhost /]#  crontab -e
00 23 * * * /usr/sbin/bakmysql #是每天23:00执行

六、启动crontab并将之加入开机自启动

[root@localhost /]# /sbin/service crond start
[root@localhost /]# chkconfig --level 35 crond on

七、查看crontab服务状态

[root@localhost /]#  service crond status

PS:查看crontab服务是否已设置为开机启动

[root@localhost /]#  ntsysv #这是直观查看各类服务的组件,如果没安装可以用yum安装一下,安装完毕直接输入ntsysv
原文地址:https://www.cnblogs.com/eRrsr/p/8012519.html