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
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的停止和启动命令
启动:systemctl crond start
停止: systemctl crond stop