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
本文介绍如何通过编写 Bash 脚本实现 MySQL 数据库的自动备份,并利用 crontab 定时任务进行定期数据导出,确保数据的安全性和可靠性。

1万+

被折叠的 条评论
为什么被折叠?



