CentOS7配置rsync+lsyncd实现文件实时同步 Linux教程 数据备份



rsync是一个非常好用的文件同步工具, 但是无法进行实时同步, 不过有了lsyncd就可以完美的解决这个问题. lysncd 实际上是封装了inotify和rsync, 通过lsyncd可以完美的解决海量文件实时备份, 现在参考部分教程简单记录一下.

主要目的
从主服务器上实时增量备份文件到另外一台服务器上.

先在主服务器上创建无密码的ssh证书.

cd /root/
ssh-keygen -t rsa

一直按回车就会得到两个ssh证书文件, 一个id_rsa秘钥, 一个id_rsa.pub公钥.

查看公钥证书

cat /root/.ssh/id_rsa.pub

然后去备份服务器上

cd /root/mkdir /root/.ssh
vi id_rsa.pub

然后把之前在主服务器上创建的公钥id_rsa.pub内容复制到这里

把公钥增量添加到~/.ssh/authorized_keys里面

cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

再更改公钥文件权限

chmod 600 /root/.ssh/authorized_keys

更改sshd配置文件

vi /etc/ssh/sshd_config

把#AuthorizedKeysFile .ssh/authorized_keys前面的#去掉, 让其保持为

AuthorizedKeysFile .ssh/authorized_keys

然后重启备份服务器的ssh

service sshd restart

设置完成后再会主服务器
先测试一下是否可以免密码登录备份服务器

ssh root@备份服务器的ip

如果能正常登录就可以.

然后在备份服务器上操作

vi /etc/rsyncd.conf

配置如下

[backup]
# destination directory for copy
path = /home/backup
# hosts you allow to access
hosts allow = 1.1.1.1
hosts deny = *
list = true
uid = root
gid = root
read only = false

再设置rsync自动启动

systemctl enable rsyncd.service
systemctl start rsyncd.service

从再退出, 返回主服务器.

exit

返回主服务器后


安装lua lua-devel

yum install lua lua-devel -y
yum install lsyncd -y

编辑配置lsyncd的配置文件

vi /etc/lsyncd.conf

参考配置文件如下

settings {
    logfile = "/var/log/lsyncd.log",          --日志路径
    statusFile = "/var/log/lsyncd.status",    --状态文件
    pidfile = "/var/run/lsyncd.pid",          --pid文件路径
    statusInterval = 1,                       --状态文件写入最短时间
    nodaemon = false,                         --daemon运行
    maxProcesses = 1,                         --最大进程
    maxDelays = 1,                            --最大延迟}
sync {    default.rsyncssh,      --默认rsync+ssh,rsync版本需要升级3以上版本
    source = "/home/backup/",                 --源目录
    delete = true,                            --保持完全同步        
    host = "root@11.22.33.44",                
    targetdir = "/home/backup/",              --目标目录
    exclude={                 
             ".txt"            --需排除的文件
    },
rsync = {
    binary = "/usr/bin/rsync", --需先安装好rsync
    archive = true,            --归档
    compress = false,          --压缩
    owner = true,              --属主
    perms = true,              --权限
    whole_file = false
    },
ssh = {
    port = 22
    }
}

设置开机启动并运行

systemctl enable lsyncd.service
systemctl start lsyncd.service

然后去原服务器的/home/backup目录下创建一个文件看看会不会自动同步到备份服务器的/home/backup目录下


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回