1. 安装 Lsyncd
首先,在你希望设置同步的主服务器上安装 Lsyncd。
对于基于 Debian/Ubuntu 的系统:
sudo apt-get update
sudo apt-get install lsyncd
对于基于 Red Hat/CentOS 的系统:
sudo yum install epel-release
sudo yum install lsyncd
2. 生成 SSH 公钥
在主服务器(服务器 A)上生成 SSH 密钥对(公钥和私钥)。
ssh-keygen -t rsa -b 4096
按照提示操作,并将密钥保存在默认目录中(~/.ssh/id_rsa
对于私钥,~/.ssh/id_rsa.pub
对于公钥)。
3. 将公钥复制到远程服务器
使用以下命令将生成的公钥复制到目标服务器(服务器 B):
ssh-copy-id user@remote_server
此命令将公钥添加到远程服务器上的 ~/.ssh/authorized_keys
文件中,从而允许无密码认证。
4. 验证 SSH 无密码连接
验证你是否可以在无需输入密码的情况下连接到远程服务器:
ssh user@remote_server
如果连接成功且不要求输入密码,则公钥设置已正确配置。
5. 配置 Lsyncd 文件
编辑或创建 Lsyncd 配置文件,通常位于 /etc/lsyncd/lsyncd.conf.lua
。
配置示例:
settings {
logfile = “/var/log/lsyncd/lsyncd.log”,
statusFile = “/var/log/lsyncd/lsyncd-status.log”,
nodaemon = false,
}
sync {
default.rsyncssh,
source = “/ruta/a/sincronizar/”,
host = “usuario@servidor_remoto”,
targetdir = “/ruta/remota/destino/”,
rsyncOpts = {“-avz”},
ssh = {
port = 22,
identityFile = “/home/tu_usuario/.ssh/id_rsa”
}
}
6. 启动 Lsyncd
启动 Lsyncd 以开始同步:
sudo lsyncd /etc/lsyncd/lsyncd.conf.lua
为了确保 Lsyncd 在服务器启动时自动启动,你可以将其设置为系统服务。
7. 监控和日志
检查 Lsyncd 日志以监控其活动,并确保同步正常进行:
tail -f /var/log/lsyncd/lsyncd.log
Leave A Comment