假定192.168.1.1为生产环境主机A,操作系统为centos,A上安装有mysql。
假定 192.168.1.2为备份主机B,操作系统为centos,B未安装mysql。
1、在A上创建用户备份的mysql用户,需授予select、lock、process权限;
2、在B上安装mysql客户端
执行:yum -y install mysql-client
若B中没有互联网,可在联网的主机上执行如下命令下载安装包,然后将安装包上上传至B主上离线安装。
yum install --downloadonly --downloaddir=/root/soft/zlib mysql-client
downloaddir为下载文件存放的目录
3、在B上编写shell脚本命名为:cwxt_mysql_backup.sh
#!/bin/bash
user="root" #定义用户名账号
pass="123456" #密码
host="192.168.1.1" #目标主机
port="3306" #目标主机
conn="-u $user -p$pass -P$port -h $host"
data1="cwxt" #备份目标库
bakdir="/scii/backup/mysqldata/cwxt/data" #指定备份目录
cmd="/usr/bin/mysqldump " #指定命令工具路径
time=`date +%Y-%m-%d-%H:%M:%S` #定义时间变量
backupfile="$data1-$time" #定义备份后的文件名字
cd $bakdir #切换至备份目录下
mysqldump $conn --databases $data1 > $backupfile.sql #备份为.sql文件
find $bakdir -type f -mtime +15 -name "$data1*.sql" -exec rm -rf {} \; #删除15天前备份的脚本
4、在B上创建目录
mkdir /scii/backup/mysqldata/cwxt/data
将cwxt_mysql_backup.sh 移至 /scii/backup/mysqldata/cwxt 目录下
5、在B上设置定时任务
cd /scii/backup/mysqldata/cwxt
chmod +x cwxt_mysql_backup.sh #授权
crontab -e
输入i进入编辑模式
再输入
00 03 * * * /scii/backup/mysqldata/cwxt/cwxt_mysql_backup.sh #每天凌晨三点执行备份
再按 esc 键 随后按 wq 保存退出
在一依次执行
systemctl status crond
crontab -l
查看是否正常运行