1、配置自动备份环境
1.1、在data目录下新建存放备份数据的文件夹
-
mkdir -p /data/backup/mysql
-
#进入backup目录创建mysql_backup.sh的脚本并且填充数据
-
vi mysql_backup.sh
1.2、编辑mysql_backup.sh脚本并添加如下数据
-
#!/bin/bash
-
#db_user= 'root'
-
#db_password=`cat /data/www/mysql_password`
-
#数据库名称
-
db_name= 'test'
-
#生成备份存放的目录
-
backup_dir= '/data/backup/mysql/'
-
#生成日期
-
current_time=$(date + '%Y-%m-%d_%H%M%S')
-
filepath=$backup_dir$current_time '.sql.gz'
-
#此处没有使用 $db_password $db_user, 已经写入到配置文件中
-
echo '开始导出数据库...'
-
#/etc/my.cnf这个是mysql具体的配置文件,根据自己实际安装路径填写
-
mysqldump --defaults-extra-file=/etc/my.cnf $db_name | gzip > $filepath
-
echo '导出成功,文件名为: '$filepath
1.3、找到mysql的配置文件my.cnf并编辑
-
[mysqldump]
-
max_allowed_packet= 400M
-
host= 127.0 .0 .1
-
user=root
-
password= 'root123' # 设置为自己的密码例如我的为root123
-
[mysql]
-
host= 127.0 .0 .1
-
#mysql账号
-
user=root
-
#mysql密码
-
password= 'root123'
1.4 脚本增加权限
chmod +x ./mysql_backup.sh
或者chmod u+x ./mysql_backup.sh
1.5 TEST 测试是否可以导出成功
-
sh ./mysql_backup.sh
-
# 查看一下结果
-
ll ./mysql
2.1、在终端输入如下命令
-
crontab -e
-
#粘贴下面的内容, 大家根据自己的需要更改就可以了
-
0 1, 12 * * * /data/backup/mysql_backup.sh # 每天凌晨 1点,中午 12点备份一次数据
-
#大家可以先使用下面这条做为测试哦, 1分钟跑一次,我们只需要查看 ll /data/backup/mysql 这个文件夹就好了
-
*/ 1 * * * * /data/backup/mysql_backup.sh
2.2、crontab的停止和启动命令
启动:/sbin/service crond start
停止: /sbin/service crond stop
重新加载: systemctl reload crond.service
重启服务: systemctl restart crond.service
查看状态: systemctl status crond.service