ubuntu下,nfs文件服务器备份

69 阅读1分钟

数据同步

为了保证主备服务器数据一致,可使用 rsync 工具进行数据同步。在主服务器上设置定时任务,定期将数据同步到备服务器。

1. 安装 rsync

在主服务器和备服务器上都安装 rsync:

sudo apt install rsync

2. 设置 SSH 免密登录

在主服务器上生成 SSH 密钥,并将公钥复制到备服务器:


ssh-keygen -t rsa

ssh-copy-id 192.168.10.23 #192.168.10.23为目标服务器地址

执行ssh-keygen -t rsa 直接默认地址,无需设置秘钥短语,容易踩坑

此处注意,将公钥文件拷贝到目标主机后,用ssh登录一下试试

ssh user@192.168.10.23 #user为用户名,192.168.10.23为目标主机地址

直接可登录说明配置成功。 如果不能直接登录,可以到目标主机更改一下配置文件

sudo vim /etc/ssh/sshd_config

将公钥认证打开

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启ssh服务

sudo systemctl restart sshd

3. 创建同步脚本****

在主服务器上创建一个同步脚本,例如 /root/sync_nfs.sh:

#!/bin/bash

LOG_FILE="/var/log/sync_nfs.log"

echo "$(date): Starting rsync operation" >> $LOG_FILE

rsync -avz -e "ssh -i /home/user/.ssh/id_rsa" /data/files/ user@192.168.10.23:/data/files/ >> $LOG_FILE 2>&1

echo "$(date): Rsync operation completed" >> $LOG_FILE

此处注意,user为将要登录的用户,如果不写默认会以root访问(坑点)

给脚本添加执行权限:

chmod +x /root/sync_nfs.sh

4. 设置定时任务

编辑 /etc/crontab 文件,添加以下内容,每 5 分钟同步一次数据:

*/5 * * * * root /root/sync_nfs.sh