发送端配置:

一、配置密钥

1. 主/从服务器之间启用基于密钥的身份验证。登录发送端服务器并用 " ssh-keygen " 命令生成公共或私有的密钥。

2. 使用 " ssh-copy-id " 复制密钥文件到接收端服务器。

ssh-copy-id -i /root/.ssh/id_rsa.pub root@IP

把生成的公钥发送到对方的主机上去,用ssh-copy-id命令,自动保存在对方主机的/root/.ssh/authorized_keys文件中去
[root@localhost ~ 09:16:45&&26]# ssh 192.168.1.160 #需要登录密码
[root@localhost ~ 09:16:45&&26]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.160
[root@localhost ~ 09:16:45&&26]# ssh 192.168.1.160 #免密登录 

输入登录密码

问题1:ssh:Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open

若提示“Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open”,并且断开连接。

仔细阅读了一下ssh文档和这句提示,大概的意思时ssh的私有密钥的权限开放尺度太大了,可以供人随意欣赏了,ssh自身的策略关闭了ssh。

解决方案:将权限由0644降低为0600

chmod 0600 ~/.ssh/id_rsa

问题2:ssh免密登录出现问题再重新写入key的时

解决办法是加参数ssh-copy-id -f root@IP强制重新写入或者写入新的key ssh-keygen -R IP(B),前者可行 写入后能正常登录

加-f的时候需要尝试登录一下------>实际上

客户端执行ssh-copyid 服务端用户名@服务端ip此步骤需要输入密码。
执行成功后会在服务端生成~/.ssh/authorized_keys文件,文件内容和客户端生成的id_rsa.pub内容完全一致。

再次执行ssh 用户名@ip 就不用输入密码了。

二、安装rsync + lsyncd

centos7:  yum -y install lsyncd   ubuntu18: apt install lsyncd

看具体情况  安装lsyncd依赖包 

centos的配置文件是/etc/lsyncd.confubuntu的配置文件是/etc/lsyncd/lsyncd.conf.lua且ubuntu要手动创建/etc/lsyncd文件夹、log文件、status文件,centos不用 其他都一样

三、配置lsyncd

1.如果有example案例文件复制成配置文件

cp /usr/share/doc/lsyncd-2.1.5/examples/lrsync.lua /etc/lsyncd.conf

  2. 编辑lsyncd配置文件

centos 7   位置:/etc/lsyncd.conf ----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/
--
-- 分发服务器
settings {logfile ="/var/log/lsyncd/lsyncd.log",   ---->需要配置或创建具体的文件目录或者文件statusFile = "/var/log/lsyncd/lsyncd.stat",statusInterval = 1,maxProcesses = 10, ---->这里变成10会报错  只能1个进程    nodaemon = false,     maxDelays = 7
}
sync{default.rsyncssh, source="/www/wwwroot/www.xxx.com", host="192.168.0.1", init = false, --->一般为false 服务启动的时候不会报错targetdir="/www/wwwroot/test.com",delete = true,delay = 0,rsync = {binary = "/usr/bin/rsync",archive = true, --归档compress = true, --压缩verbose = true, owner = true,   --属主perms = true,   --权限_extra = {"--bwlimit=2000"},},ssh = {port = 22}
}
sync{default.rsyncssh, source="/www/wwwroot/www.xxx.com", host="192.168.0.2", init = false,targetdir="/www/wwwroot/test.com",delete = true,delay = 0,rsync = {binary = "/usr/bin/rsync",archive = true, --归档compress = true, --压缩verbose = true, owner = true,   --属主perms = true,   --权限_extra = {"--bwlimit=2000"},},ssh = {port = 22}
}

双向同步

ubuntu 18文件位置: /etc/lsyncd/lsyncd.conf.luasettings {logfile = "/var/log/lsyncd/lsyncd.log",statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync {default.rsyncssh,source = "/www/wwwroot/test.com",host = "47.244.107.27",targetdir = "/www/wwwroot/www.XXX.com",init = false,delay=0,rsync  = {binary    = "/usr/bin/rsync",archive   = true,compress  = true, --压缩传输默认为true。在带宽与cpu负载之间权衡,本地目录同步可以考虑把它设为falseverbose   = true},ssh   = {port  = 22}
}

四、启动服务,并设置开机启动

1. 启动lsyncd服务

-----centos7
lsyncd /etc/lsyncd.conf   ---->检查配置信息是否正确
systemctl start lsyncd
systemctl status lsyncd
systemctl restart lsyncd
-----ubuntu18
/etc/init.d/lsyncd restart/etc/init.d/lsyncd start/etc/init.d/lsyncd status
----------------------------

2. 启动完成查看lsyncd状态,确保lsync启动成功

3. 设置开机启动

systemctl enable lsyncd

转载于:https://www.cnblogs.com/shione/p/10775649.html

CentOS 7.2 Ubuntu 18部署Rsync + Lsyncd服务实现文件实时同步/备份相关推荐

  1. rsync+sersync实现数据文件实时同步

    rsync+sersync实现数据文件实时同步 使用rsync+sersync,实现nfs与backup服务器间实时数据同步 一.数据同步工具介绍 rsync是一款开源的.快速的.多功能的.可实现全量 ...

  2. Win10与子系统Ubuntu 18.04 LTS之间互传文件

    Win10与子系统Ubuntu 18.04 LTS之间互传文件 1.Ubuntu子系统在Win10的存储目录 2.在子系统Ubuntu下访问win10 3.文件互传 参考链接 \;\;\;\;\;\; ...

  3. 解决Ubuntu 18.04中无法播放MP4文件的问题

    遇到的问题 在Ubuntu 18.04中无法播放MP4文件,提示播放该文件需要H.264(主配置文件)解码器. 测试机型:联想邵阳E42 测试时间:2020年9月5日 测试系统:18.04 解决方法 ...

  4. inotify用法简介及结合rsync实现主机间的文件实时同步

    一.inotify简介 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的一个子系统(API),它提供了一种监控文件系统(基于inode的)事件的机制,可以监控文件系 ...

  5. 【Linux下Inotify + Rsync文件实时同步】

    Linux下Inotify + Rsync文件实时同步 一.使用前言* 随着公司业务的发展,单web服务器不能满足用户的访问,需要增加多台web服务器实现均衡高可用性访问.为了统一各web服务器之间的 ...

  6. MySQL :rsync+sersync文件实时同步

    文章目录 1. rsync是什么 rsync+sersync文件实时同步 一:环境 二:备份服务器操作 三:数据源服务器操作 安装rsync客户端软件 安装sersync工具,实时触发rsync进行同 ...

  7. rsync+inotify文件实时同步

    简介 最近有一个比较特殊的需求,某个服务提供文件上传功能.但是由于要解决单点问题,所以会程序会部署在多台服务器上实现高可用.但是也会随之带来一个和共享cookie类似的问题,那就是文件存储也应该是共享 ...

  8. inotify介绍及rsync + inotify 实时同步备份

    1.前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计 ...

  9. rsync+lsyncd实现(本地以及远程)文件实时同步

    lsyncd基于lua语言开发,整合了rsync和notify 实现文件的实时同步 系统环境cat /etc/issue CentOS release 6.6 (Final)uname -sr Lin ...

最新文章

  1. Open3D KdTree建立、3种近邻搜索及结果可视化
  2. 计算机行业中的烧写怎么翻译,单片机怎么烧录程序_单片机烧录程序步骤说明...
  3. 026_jdbc-mysql-PrepareStatement解决sql注入
  4. 在Linux 5/6上使用UDEV SCSI规则配置ASM DISK
  5. python形参实参
  6. sshd_config配置详解
  7. 检查DISPLAY设置时Xlib出现No protocol specified错误
  8. 年终盘点:2010年半导体产业的十大进展-转自老杳
  9. 云服务器上安装Anaconda3 (亲测有效)
  10. python数据结构-列表-1
  11. 通达信 移动平均算法_财富趋势,它的产品叫通达信
  12. 视频黑屏画面检测 blackframe
  13. 企业微信审批功能有哪些?审批人如何设置?
  14. 用pyecharts生成仪表盘——将多张图片汇总到一个页面,大屏可视化数据展示
  15. 计算机组成原理之CPU、外存、内存之间的关系
  16. C++ typename详解
  17. 在html中控制自动换行 1
  18. 在存储过程中的clob数据类型
  19. Windows--UEFI引导安装Win10
  20. [线段树]小喵喵的新家

热门文章

  1. 修改win10 默认网卡 --其实就是改网卡接口跃点
  2. eureka之EurekaClientConfig的作用
  3. JAVA volatile关键字正确使用姿势
  4. Docker创建springboot项目镜像pom及Dockerfile配置文件
  5. Java实现拼音转汉字
  6. IDEA配置SVN并实现代码版本控制
  7. jpa添加索引的几种方式
  8. C++设计模式--简单工厂模式
  9. Qt connect信号连接的几种写法
  10. python(numpy,pandas6)——pandas数据形式的简介,排序方式sort_index,sort_values