linux mysql异地备份工具,Linux下mysql异地自动备份

前言:

基本上不管是对于我们自己使用,还是给客户部署服务器,,mysql备份都是必不可少的一部分,这里给大家分享一下我是如何实现linux上做异地自动备份的。

mysql_backup.sh 用于备份数据

mysql_restore.sh 用于恢复数据

remove_backup.sh 用于删除一段时间以前的备份文件

一、数据备份准备

1.1创建备份目录

注:这里我是吧备份文件放在/data/backup/mysql下面,把脚本放在 /data/backup 下面

些创建一个文件夹(如果创建过请忽略)

mkdir -p /data/backup/mysql

cd /data/backup

1.2创建脚本文件

创建mysql_backup.sh脚本

vi mysql_backup.sh

粘贴下面的脚本内容

#!/bin/bash

# 需要的话,自己改这里哦

#db_user='root'

#db_password=`cat /data/www/mysql_password`

db_name='wuqilong'

backup_dir='/data/backup/mysql/'

current_time=$(date +'%Y-%m-%d_%H%M%S')

filepath=$backup_dir$current_time'.sql.gz'

#此处没有使用 $db_password $db_user, 已经写入到配置文件中

echo '开始导出数据库...'

mysqldump --defaults-extra-file=/data/backup/my_mysql.cnf $db_name | gzip > $filepath

echo '导出成功,文件名为: '$filepath

新建配置文件, 就在我们的当前目录下 即 /data/backup

vi my_mysql.cnf

下面的是文件内容,这里可以设置一下允许导出的文件大小上限

这里的host填写你需要从那台服务器下进行备份

[mysqldump]

max_allowed_packet = 400M

host=ip地址(192.168.1.**)

user=root

password='root'

[mysql]

host=ip地址(192.168.1.**)

user=root

password='root'

这样导出shell脚本就已经写好了哈,接下来给它加一下权限。

chmod +x ./mysql_backup.sh

现在可以使用下面的命令来导出了

sh ./mysql_backup.sh

# 查看一下结果

ll ./mysql

42bcdbfcef94

WqlCLH

看到没,牛逼不,这个已经成功的导出了。

二、创建计划任务

2.1、添加计划任务

crontab -e # 执行这条命令的时候需要输入i进行编辑,不然无法添加数据(小白需要看一下)

# 粘贴下面的内容, 大家根据自己的需要更改就可以了

0 1,12 * * * /data/backup/mysql_backup.sh # 每天凌晨1点,中午12点备份一次数据

# 咱们也可以先使用下面这条做为测试,1分钟跑一次,我们只需要查看 ll /data/backup/mysql 这个文件夹就好了

*/1 * * * * /data/backup/mysql_backup.sh

三、更新,添加自动清理备份

3.1、创建删除文件脚本

还是在/data/backup 目录下面创建脚本,下面就是脚本内容了

vi remove_backup.sh

# 复制下面的脚本内容

#/bin/bash

# 删除30天前的备份

find /data/backup/mysql -type f -mtime +30 | xargs rm -f

这里我选择的是删除30天之前的数据,如果想时间更长或者更短的可以自己修改时间。

同样给他加个权限

chmod +x ./remove_backup.sh

# 使用下面这个命令可以手动清理的呢,

./remove_backup.sh

接下来我们就要做到自动清理了,添加到 crontab中,和上一步的自动备份一样的

crontab -e

# 下面这个就是脚本内容哦,添加这一句

0 1 * * * /data/backup/remove_backup.sh # 每天凌晨1点,自动删除30天前的备份

结束

大功告成,以上就是所有的 mysql 异地自动定时备份,有疑问的话,欢迎各位评论,虽然我不一定知道,但是我也会尽力的去帮助大家解决问题滴。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值