linux备份mysql到另一个linux,异地定时备份
  • 163,备份服务器

  • 165,MySQL服务器

  • 使用NFS文件共享

  • ubuntu系统

  • mysql8

首先确认服务器版本

uname -a
或者
uname -r

确认为ubuntu系统

安装nfs

nfs分为服务端(实际文件储存的服务器163)和客户端(存入者165)

服务端

sudo apt update && sudo apt install nfs-kernel-server

客户端

sudo apt update && sudo apt install nfs-common

安装中会有确认,需要填入【Y】进行继续

创建和配置文件夹

服务端

sudo mkdir /shared
sudo chmod 777 /shared

编辑配置文件/etC++/exports,添加共享规则:

/shared 192.168.13.3/24(rw,sync,no_subtree_check,no_root_squash)

其中ip是客户端的ip

可以在客户端使用

ip a

进行查询

也可以使用*号来同意所有ip的访问(可能不安全),如:

/shared *(rw,sync,no_subtree_check,no_root_squash)

其他参数

  • rw:读写权限。
  • sync:同步写入磁盘。
  • no_root_squash:允许客户端root用户保留权限(谨慎使用)。

启用

服务端

sudo systemctl start rpcbind nfs-server 
sudo systemctl enable rpcbind nfs-server

应用配置

sudo exportfs -arv

客户端挂载共享文件夹

sudo mkdir /nfs_shared/163

此处文件名(163)请自定义

指定服务端的文件夹

sudo apt update && sudo apt install nfs-kernel-server
0

此处的服务端ip同样使用(ip a)去服务端获取

校验

sudo apt update && sudo apt install nfs-kernel-server
1

mysql定时备份

mysql使用Linux的定时器执行命令行进行备份

进入mysql的服务器(也就是客户端)

创建脚本

一般放在

/usr/local/bin/mysql_backup.sh

可以自定义

进入目录

cd /usr/local/bin/

创建脚本

nano mysql_backup.sh

配置内容(每天备份,删除超过7天的)

sudo apt update && sudo apt install nfs-kernel-server
2

ctrl+x退出

按Y保存

按回车退出

赋予脚本执行权限

sudo apt update && sudo apt install nfs-kernel-server
3

设置 cron 定时任务

创建文件夹

sudo apt update && sudo apt install nfs-kernel-server
4

使用 crontab -e 添加每天凌晨2点执行的备份任务:

sudo apt update && sudo apt install nfs-kernel-server
5

执行crontab -e后会让你选择打开的编辑工具,一般是nano或者vim,无所谓

在新的一行添加:

sudo apt update && sudo apt install nfs-kernel-server
6

查看root的定时任务

sudo apt update && sudo apt install nfs-kernel-server
7

测试

可以手动执行脚本立刻继续备份进行。
并在两台服务器中访问共享地址来确认是否成功挂载。
经过7天以上查看备份文件查看是否删除了过期文件。

end