linux定时执行本地和rsync远程备份数据库脚本(7天覆盖)

一、前期准备:
a.安装rsync

yum install rsync -y

b.ssh免密登录
1.生成秘钥

ssh-keygen -t rsa

生成后可以进入目录cd ~/.ssh/ 查看

2.把生成的密钥~/.ssh/id_rsa.pub内容复制到远程主机的/root/.ssh/authorized_keys中

二、在/opt/目录下创建执行脚本和备份数据库目录文件

chmod 700 exesqlbak.sh
mkdir /opt/mysqlDataBackup

执行脚本exesqlbak.sh如下:

#!/bin/sh

d1=`date +%w`  # 以周覆盖

# 记录日志和错误日志
exec 1> /tmp/mysqlbak.log  2>>/tmp/mysqlbak.err
echo "备份开始:`date`"

#数据库配置
user=root
passwd=123456
dbname=testdb
#本地备份路径
local_backup_path=/opt/mysqlDataBackup/
#远程备份路径
remote_backup_path=120.26.169.169:/opt/mysqlDataBackup/

#本地数据库备份,按周覆盖
mysqldump  -u$user -p$passwd $dbname > $local_backup_path/$d1.sql

#远程本地数据库备份,按周覆盖
rsync -az $local_backup_path/$d1.sql $remote_backup_path/$d1.sql

echo "备份结束: `date`"

注:远程备份测试执行

rsync -az /opt/mysqlDataBackup/2.sql 120.26.169.169:/opt/mysqlDataBackup/2.sql

三、crontab定时执行配置(每天3点执行脚本)

0 3 * * * /opt/exesqlbak.sh 

注:备份数据导入测试

mysql -uroot -p123456 testdb < 2.sql

 

你可能感兴趣的:(Ivan@_Linux专栏)