msyql定时备份数据库

msyql定时备份数据库

1)备份脚本文件
dbback-online.sh

2)定时备份数据库

定时任务启动脚本前执行命令

1、修改/etc/crontab文件

 使用 vi 编辑器添加 每天凌晨3点执行
01 3 * * * root /usr/local/bin/dbback-online.sh

2、#修改完文件要重新加载任务,使之生效

     #定时任务文件
     crontab /etc/crontab
     #查看定时任务
     crontab -l
service crond start     //启动服务

service crond stop      //关闭服务

service crond restart   //重启服务

service crond reload    //重新载入配置

service crond status    //查看crontab服务状态

附:脚本文件

#!/bin/bash
#这是一个简单的mysql数据库逻辑备份脚本
#1.定义数据库连接、目标库信息
USER="root"

PASS="123456"

HOST="10.1.1.100"

CONN="-u $USER -p$PASS -h $HOST"

#database
DB="mdcoc"

#2.定义备份目录、工具、时间、文件名主体

#判断备份文件存储目录是否存在,否则创建该目录
BACKUP_DIR="/usr/local/data-back"
if [ ! -d $BACKUP_DIR ] ;
then
mkdir -p "$BACKUP_DIR"
fi

BACKUP_CMD="/home/mysql/bin/mysqldump"

BACKUP_TIME=`date +%Y%m%d-%H%M`

NAME="$DB-$BACKUP_TIME"

#3.导出为.sql.gz脚本

#-t 仅导出表数据,不导出表结构
# $BACKUP_CMD $CONN -t $DB2 | gzip > /$BACKUP_DIR/$NAME_2.sql.gz

#$BACKUP_CMD $CONN $DB2 | gzip > /$BACKUP_DIR/$NAME_2.sql.gz
$BACKUP_CMD $CONN --set-gtid-purged=off $DB | gzip > /$BACKUP_DIR/$NAME.sql.gz

#备份多个数据库到一个文件
#$BACKUP_CMD $CONN --databases $DB1 $DB2 | gzip > /$BACKUP_DIR/$NAME_1_$NAME_2.sql.gz 

#/usr/bin/mysqldump -h 101.201.49.112 -u root -pAassddff!123 j2eeq >j2eeq.sql


#将本地的备份文件在扔到198服务器上,利用ftp
sleep 5s
ftp -n<<!
open 10.1.1.198
user databackup 123
binary
lcd /usr/local/data-back
cd mdcoc
prompt
put $NAME.sql.gz
close
bye
!
原文地址:https://www.cnblogs.com/dyaqi/p/13153472.html