centos ssh免密登陆lsync自动同步
每分钟192.168.0.3拉取192.168.0.2的/opt/www/到/opt/www/
192.168.0.3执行crontab -e
* * * * *rsync -vazup --delete --ignore-errors --force --delete-excluded root@192.168.0.2:/opt/www/ /opt/www/
#生成 SSH 密钥对
简洁版(默认回车):ssh-keygen -t rsa
{详解:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t rsa: 指定密钥类型为 RSA。
-b 4096: 指定密钥长度为 4096 位。
-C "your_email@example.com": 为密钥添加注释,通常是你的邮箱地址。
当提示输入文件名时,按回车键使用默认路径(/root/.ssh/id_rsa)。
当提示输入密码短语时,可以按回车键留空(如果不需要密码保护)。
生成的密钥对将保存在 /root/.ssh/id_rsa(私钥)和 /root/.ssh/id_rsa.pub(公钥)。
}
#配置免密登录
在服务器 A 上,将公钥复制到服务器 B
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.10.9
在服务器 B 上,将公钥复制到服务器 A
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.10.1
#配置lsyncd
在服务器 A(172.16.10.1)上的配置文件 /etc/lsyncd.conf:
settings {
logfile = "/var/log/lsyncd.log", -- 指定 lsyncd 的日志文件路径,用于记录 lsyncd 的运行日志
pidfile = "/var/run/lsyncd.pid", -- 指定 lsyncd 的 PID 文件路径,用于记录 lsyncd 进程的 PID
statusFile = "/var/log/lsyncd.status", -- 指定 lsyncd 的状态文件路径,用于记录 lsyncd 的当前状态
inotifyMode = "CloseWrite", -- 指定 inotify 的事件类型,这里设置为在文件关闭并写入完成时触发事件
maxProcesses = 8, -- 指定最大并发进程数,用于限制同时运行的 rsync 进程数量
}
sync {
default.rsync, -- 使用 rsync 作为默认的同步模式
source = "/opt/www/", -- 本地要同步的源目录路径
target = "root@192.168.0.2:/opt/www/", -- 远程目标目录,格式为 user@host:/path
delay = 1, -- 延迟时间,以秒为单位,表示在检测到文件变化后等待多少秒再进行同步
init = false, -- 禁用初始同步,lsyncd 启动时不会立即进行一次全量同步
rsync = {
binary = "/usr/bin/rsync", -- 指定 rsync 的二进制文件路径,默认是 /usr/bin/rsync
archive = true, -- 启用归档模式,相当于 rsync 的 -a 选项,递归同步并保持各种属性(如权限、时间戳等)
compress = true, -- 启用压缩,相当于 rsync 的 -z 选项,减少传输的数据量
bwlimit = 50000, -- 设置带宽限制,以 KB/s 为单位,这里限制为 5000 KB/s
rsh = "ssh -i /root/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" -- 使用 SSH 进行连接,并指定私钥路径和禁用主机>密钥检查
}
}
在服务器 B(172.16.10.9)上的配置文件 /etc/lsyncd.conf:
settings {
logfile = "/var/log/lsyncd.log", -- 指定 lsyncd 的日志文件路径,用于记录 lsyncd 的运行日志
pidfile = "/var/run/lsyncd.pid", -- 指定 lsyncd 的 PID 文件路径,用于记录 lsyncd 进程的 PID
statusFile = "/var/log/lsyncd.status", -- 指定 lsyncd 的状态文件路径,用于记录 lsyncd 的当前状态
inotifyMode = "CloseWrite", -- 指定 inotify 的事件类型,这里设置为在文件关闭并写入完成时触发事件
maxProcesses = 8, -- 指定最大并发进程数,用于限制同时运行的 rsync 进程数量
}
sync {
default.rsync, -- 使用 rsync 作为默认的同步模式
source = "/opt/www/", -- 本地要同步的源目录路径
target = "root@172.16.10.1:/opt/www/", -- 远程目标目录,格式为 user@host:/path
delay = 1, -- 延迟时间,以秒为单位,表示在检测到文件变化后等待多少秒再进行同步
init = false, -- 禁用初始同步,lsyncd 启动时不会立即进行一次全量同步
rsync = {
binary = "/usr/bin/rsync", -- 指定 rsync 的二进制文件路径,默认是 /usr/bin/rsync
archive = true, -- 启用归档模式,相当于 rsync 的 -a 选项,递归同步并保持各种属性(如权限、时间戳等)
compress = true, -- 启用压缩,相当于 rsync 的 -z 选项,减少传输的数据量
bwlimit = 50000, -- 设置带宽限制,以 KB/s 为单位,这里限制为 5000 KB/s
rsh = "ssh -i /root/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" -- 使用 SSH 进行连接,并指定私>钥路径和禁用主机密钥检查
}
}
systemctl restart lsyncd
systemctl status lsyncd
#开机自启动
systemctl enable lsyncd
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用CC BY-NC-ND 4.0协议,完整转载请注明来自 halo.taofile.cn。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

