1.环境基础
在本次备份采用的是mysql自带的备份命令mysqldump:
1、备份全部数据库的数据和表结构
mysqldump -uroot -ppassword -A >all.sql
2、只备份表结构,不备份数据
mysqldump -uroot -ppassword -A -d > database.sql
3、只备份数据库,不备份表结构
mysqldump -uroot -ppassword -A -t > data.sql
4、备份单个数据库的数据和表结构(只备份数据或者表结构可以用-t或者-d)
mysqldump -uroot -password dbname > dbname.sql
假如Linux上已经安装好了mysql,则自带mysqldump命令,假如没有也可以解压mysql安装包,然后找到mysqldump的绝对路径,~/mysql解压包/bin/mysqldump
2.新建备份脚本(mysql_start.sh)
#!/bin/bash
#设置mysql的备份保存目录
folder=/home/mysql_data_temp
cd $folder
day=`date +%Y%m%d`
mkdir -p "$day"
cd $day
#数据库服务器ip,填写服务器的公网地址即可
host=192.168.8.99
#用户名
user=root
#密码
password=root
#要备份的数据库名
db=test
#执行备份语句
/usr/local/mysql/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysqldump -h$host -u$user -p$password $db > ./test.sql
chmod +x mysql_start.sh #授权脚本
3.设置定时任务
设置好定时任务crontab执行时间,一般ESC都会自带crontab服务的。查看crontab服务状态
service crond status
有绿色指示灯说明服务运行正常
编辑定时任务 crontab -e
*/1 * * * * /etc/profile;/bin/sh /home/mysql_data_temp/mysql_start.sh
本次为了演示采用的是一分钟执行一次,具体的配置可参考这个网站
最终效果