系统环境:CentOS7.5 最小化安装。数据库:mysql-5.6.44
需求:备份mysql下‘ceshi’和‘test’两个数据库。并且每天凌晨1点自动备份。*
1.创建备份目录
在/home/dbback/下分别保存两个数据库的备份文件
mkdir /home/dbback
mkdir /home/dbback/test
mkdir /home/dbback/ceshi
2.创建备份Shell脚本
vim /home/dbback/DatabaseBack.sh
输入以下内容,并且保存退出
#!/bin/bash
/usr/bin/mysqldump -uusername -ppassword ceshi | gzip
/home/dbback/ceshi/ceshi_$(date +%Y%m%d_%H%M%S).sql.gz
#数据库备份
#!/bin/bash
/usr/bin/mysqldump -uusername -ppassword test | gzip
/home/dbback/test/test_$(date +%Y%m%d_%H%M%S).sql.gz
#数据库压缩
注:
username:填写自己的数据库用户名
password:填写自己的数据库密码
第一个ceshi和test:填写自己的需要备份的数据库名
第二个ceshi和test:填写自己所备份到的文件夹名
第三个ceshi和test:填写自己所备份的文件名的开头
如果要备份多个数据库,按照上面的方法添加几行备份语句就好了,注意创建对应的文件夹来存放备份文件。
3.添加可执行权限
cd /home/dbback/
chmod u+x DatabaseBack.sh
./DatabaseBack.sh
添加完后执行下脚本文件,无报错的话会在/home/dbback/ceshi/和test文件夹下生成备份文件,如下图。
4.测试任务是否执行
crontab –e
编辑内容如下(每1分钟执行脚本)
*/1 * * * * /home/dbback/DatabaseBack.sh
进入到test文件夹下,多ls几下,看看有没有备份文件。
5.定时执行脚本文件
crontab –e
编辑内容如下,删除之前设置的1分钟备份一次的代码(每天凌晨1:01点执行脚本),保存退出。
01 1 * * * /home/dbback/DatabaseBack.sh
crontab详细用法另外参考。