1.进入home目录
命令:cd /home
2.创建备份文件夹
命令:mkdir mysql_data
3.进入备份文件夹
命令:cd mysql_data
4.创建执行备份的脚本文件
命令:touch mysql_databak.sh
5.编辑备份脚本文件内容
命令:vim mysql_databak.sh
配置文件内容如下:
**********************************内容开始*************************************
#!/bin/sh
DUMP=/usr/local/mysql/bin/mysqldump #这个是我的mysqldump的路径,使用时要根据自己的环境修改;一般在/var/bin下面OUT_DIR=/home/mysql_data #备份文件的目录,没有提前建好
LINUX_USER=root #linux用户
DB_NAME=zyzx #要备份的数据库名字
DB_USER=root #数据库登录名
DB_PASS=root #数据库登陆密码
DAYS=7 #每次备份保存的时间
cd $OUT_DIR #进入到备份目录下
DATE=`date +%Y_%m_%d` #当前时间
OUT_SQL="$DATE.sql" #备份出来的sql文件名
TAR_SQL="mysqldata_bak_$DATE.tar.gz" #备份的sql文件打包后的文件名
#备份文件的操作,这里要注意自己环境的mysql.sock的路径 一般可能是在/temp下面
$DUMP --defaults-extra-file=./my.cnf $DB_NAME >$OUT_SQLtar -czf $TAR_SQL ./$OUT_SQL #压缩为.tar.gz格式
rm $OUT_SQL #删除生成的sql文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者
find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格)
**********************************内容结束*************************************
内容重点:(1):linux系统用户名;
(2):要备份的数据库名称;
(3):备份天数;
(4):执行的mysqldump命令;
6.再mysql_data文件夹下,新建my.cnf配置文件
命令:mkdir my.cnf
7.配置my.cnf文件内容
命令:vi my.cnf
内容如下:
**********************************内容开始*************************************
[client]
host=your_host #你的主机地址或者localhost
user=your_user #mysql数据库用户名
password=your_pass #mysql数据库密码
**********************************内容结束*************************************
8.将脚本文件设置成可执行文件类型赋予执行权限:
chmod u+x /home/mysql_data/mysql_databak.sh
9. 添加定时任务:vi /etc/crontab
*/1 * * * * root /home/mysql_data/mysql_databak.sh #表示每分钟执行备份(具体时间设置网上查下即可)
10.重启定时任务:
service crond restart
**
以上配置完成后,可以手动执行下脚本文件测试是否报错:
先启动mysql数据服务,然后执行脚本命令
命令:/home/mysql_data/mysql_databak.sh
查看目录mysql_data文件夹下是否已生成备份文件压缩包。