步骤1:创建文件夹承装脚本、配置文件及备份的数据内容
mkdir -p /data/backup/mysql
#退回到上级目录
cd ..
步骤2:编写数据库备份脚本
vi mysql_backup.sh
#将下面内容粘贴到脚本中
#!/bin/bash
# 需要的话,自己改这里哦
#数据库的用户名
db_user='pay'
#数据库的密码
db_password=`nrp6KsXMEyJxmwaE`
#需要备份的数据库
db_name='pay_service'
#备份到哪个文件夹(已经设置了不用改动)
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 '开始导出数据库...'
mysqldump --defaults-extra-file=/data/backup/my_mysql.cnf $db_name | gzip > $filepath
echo '导出成功,文件名为: '$filepath
步骤3:编写数据库配置文件
#退回到backup目录当中
vi my_mysql.cnf
#将下面内容粘贴到文件中
[mysqldump]
#设定所能接收的包的大小
max_allowed_packet = 1024M
#连接的主机ip,因为给本机的数据库备份,所以就写本机的ip就好
host=127.0.0.1
#账号
user=pay
#密码
password='nrp6KsXMEyJxmwaE'
[mysql]
host=127.0.0.1
user=pay
password='nrp6KsXMEyJxmwaE'
步骤4:设置定时任务
vi /etc/crontab
#将下面的内容粘贴到最后一行即可
#这里设置的是每天的11点26以root权限执行目录下的这个脚本 如果有需要进行自行更改就好了
26 11 * * * root /data/backup/mysql_backup.sh
更改完之后保存退出
#重启crond
systemctl restart crond
步骤5:验证
这里可以再步骤四时设置下一分钟的时间进行验证,到了时间会在指定的目录给你发送一封邮件,如果成功了,邮件中会显示导出的文件名,失败会有报错信息