文件同步 单向rsync 双向unison 监控inotifywait 免密登录
1、负载均衡中文件同步必不可少,我这边选择rsync来实现文件同步
rsync同步文件机制更适用于单向文件同步,可配合unison实现双向同步功能。
实现同步的两种方法
一:ssh方法
rsync -avz 用户名@服务器ip /文件地址 本地目录
回车
input password
二:rsync同步
首先安装yum install rsync
创建 /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes
max connections =
pid file = /var/run/rsyncd.pid
exclude = lost+found/
transfer logging = yes
timeout =
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 [data]
path = /home/cloud-user/rsync
comment = ftp export area
read only = yes
auth users = username
secrets file = /etc/rsync_user.pas
创建用户密码文件
vim /etc/rsync_user.pas
username:password
启动同步功能
rsync --daemon
另一台服务器同步
rsync -acz username@ip::data 本地目录
回车
input password
注意:对于auth 失败;最可能的原因是rsync_user.pas的权限 必须为600
对于上行同步和下行同步失败还有可能是因为权限的问题,对于权限有两道检测;1:rsync配置文件的对于该用户的权限为只读;2:服务器对于rsync用户在同步的文件夹的权限不够;
上行同步
rsync -avz 本地目录 username@ip:服务器目录
免密登陆
方式一:ssh免密登录
ssh-keygen -t rsa
//回车、回车、回车
系统会生成.ssh目录 ,该目录下有三个文件
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单
提交自己的用户名和密码去服务器
ssh-copy-id username@ip //回车
input password
然后可以通过ssh登录
ssh username@ip
二:rsync免密同步
系统中有一个环境变量RSYNC_PASSWORD 初始为空
设置RSYNC_PASSWORD密码
export RSYNC_PASSWORD=password
然后通过rsync同步
rsync -acz username@ip::data 本地目录
如果要实现实时同步需要先监控文件夹中的变化
使用inotifywait
编译安装inotify-tools-3.13
开始监控
//监控;监控/home/cloud-user/rsync/ 的增加和删除操作 inotifywait -mrq -e create,delete /home/cloud-user/rsync/
//同步;将本地home/cloud-user/rsync中的文件同步到改ip下的home/cloud-user/rsync中
rsync -avz /home/cloud-user/rsync/* cloud-user@IP:/home/cloud-user/rsync
编写inotifywait.sh脚本文件
#!bin/bash
inotifywait="inotifywait -mrq -e create,delete /home/cloud-user/rsync/"
rsync="rsync -avz /home/cloud-user/rsync/* cloud-user@IP:/home/cloud-user/rsync"
$inotifywait | while read directory event file
do
$rsync
done
//执行脚本
bash inotifywait.sh
rsync 更适合单向同步
如果要实现双向同步,可使用unison
yum install unison
编写脚本inotifywait_unison.sh
#!bin/bash
inotifywait="inotifywait -mrq -e create,delete,modify,move /home/cloud-user/rsync/"
unison="unison -batch /home/cloud-user/rsync/ ssh://IP//home/cloud-user/rsync"
$inotifywait | while read directory event file
do
$unison
done
注意shell文件权限
执行:
nohup bash inotifywait_unison.sh &
另一台服务也是相同操作,注意修改脚本文件中的ip
文件同步 单向rsync 双向unison 监控inotifywait 免密登录的更多相关文章
- 烂泥:linux文件同步之rsync学习(一)
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天刚好有空就打算开始学习linux下的文件同步软件rsync,在学习rsync时,我们可以分以下几个步骤进行: 1. rsync是什么 2. rsy ...
- Linux 双向 SSH 免密登录
原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有 ...
- Linux/(centos、unix等)的ssh双向免密登录原理和实现
原理: 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录. 双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他 ...
- 【Linux】文件权限,ssh免密登录
1.文件/文件夹权限 例子: -rw-r--r--. 1 root root 12288 Aug 21 09:50 aliases.db drwxr-xr-x. 2 root root 4096 Au ...
- 配置hadoop用户SSH无密码登陆 的2种方式 落脚点是 可以ssh免密进入的主机名写入动作发出主机的 known_hosts,而被无密进入主机的authorized_keys文件 免密登录
cat /proc/versionLinux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version ...
- scp 免密登录ssh-copy-id 如何使用非22端口 + rsync 同步远程机器的文件到本地
其中:id_rsa为私钥文件,id_rsa.pub为公钥文件 ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 2122 root@IP " 我的:s ...
- 【实时文件同步】rsync+inotify-tools的安装与配置
http://blog.csdn.net/yakson/article/details/52044403
- 从主机A得到id_rsa.pub文件,在主机B创建用户danny加入该文件,实现主机A免密登录主机B
操作步骤: 1.主机A 生成公钥id_rsa.pub文件并导出该文件 root@mytest:~# ssh-keygen Generating public/private rsa key pair. ...
- centos7主机间免密登录、复制文件
下面实例为三个节点间 1.分别在三个节点设置域名映射 vi /etc/hosts 在文件末尾追加 192.168.10.121 node1 192.168.10.122 node2 192.168. ...
随机推荐
- 国外优秀JavaScript资源推荐
JavaScript的优秀资源 原文链接:http://code.tutsplus.com/articles/resources-for-staying-on-top-of-java ...
- mac无法使用80端口问题
前言:在mac os中,非root用户是无法使用小于1024的常用端口的.如果开发中需要用到80端口, 就要设置端口转发. hosts文件介绍(1)hosts文件是将域名和IP地址建立映射关系的系统文 ...
- rabbitmq+topic+java
可参照github代码:https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/java/EmitLogTopic.java 1. 新建m ...
- Jmeter--调度器配置
Jmeter的线程组设置里有一个调配器设置,用于设置该线程组下脚本执行的开始时间.结束时间.持续时间及启动延迟时间.当需要半夜执行性能测试时会用到这个功能. ps:设置调度器配置,需要将前面的循环次数 ...
- Mac 开发配置手册
转自:http://www.cocoachina.com/mac/20141112/10198.html 手册内容为「如何让一部全新的 MacBook 快速完成开发环境配置」,主要面向 Web 开发者 ...
- MyBatis之Mapper XML 文件详解(一)
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% ...
- OGG故障集锦(一)
说明:此系列仅作OGG故障记录,未包含处理过程.仅作故障备案 ① ERROR OGG-00519 Source Context : SourceModule : [ggapp.ddl] Sourc ...
- .Net 上传文件到ftp服务器和下载文件
突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然 ...
- openresty 配置 mongodb 可操作插件
1.下载lua-resty-mongol https://github.com/bigplum/lua-resty-mongol 2.配置_mongo.conf文件,在conf创建_mongo.con ...
- jQuery实现简单的拼图游戏
一,实现拼图的搭建: <div class="box"> <table id="table1" class="mytable&quo ...