在给公司或者学校做系统部署的时候,为了数据安全往往我们至少需要两台服务器,接下来请看:

我们要实现的是把客户端(192.168.0.1)的复制到目标服务器(192.168.0.2)

一、目标服务器

1、安装rsync

yum -y install xinetd rsync

2、修改配置

  vi /etc/xinetd.d/rsync,将yes改成no

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

vi /etc/rsyncd.conf增加要同步的目录

uid=root
gid=root
use chroot=no
max connections=20
secrets file=/etc/rsync_pass
pid file=/var/run/rsyncd.pid
log file=/var/log/rsyncd.log [backup]
path=/opt/test
comment=Rsync share test
auth users=root
read only=no
hosts allow=192.168.0.1
hosts deny=*

vi /etc/rsync_pass  配置访问的用户名和密码(这里写root)

root:123456

3、授权并重启服务

chown root:root /etc/rsync_pass
chmod 600 /etc/rsync_pass
chkconfig xinetd on
service xinetd restart

4、检测873端口在吗(防火墙里需要打开该端口)

netstat -natp

5、关闭Selinux(永久更改)

# vi /etc/sysconfig/selinux,将SELINUX=enforcing 修改为SELINUX=disable或者SELINUX=permissive重启服务器

二、客户端配置

1、安装rsync(同上)

2、修改密码文件

vi /etc/rsync_pass 填写和目标服务器里一样的密码

123456

3、授权

chmod 600 /etc/rsync_pass

4、新建客户端备份的文件夹

mkdir /opt/test/backup

5、安装inotify-tools(实时同步用)

6、将压缩包inotify-tools-3.14.tar.gz拷贝到你的目录,比如/opt

7、解压缩

tar -zxvf inotify-tools-3.14.tar.gz

8、进入目录安装

cd inotify-tools-3.14
./configure
make&make install
如果执行有问题
则执行yum install gcc

9、新建脚本文件inotifyrsync.sh

#!/bin/bash
inotify_rsync_fun ()
{
dir=`echo $1 | awk -F"," '{print $1}'`
ip=`echo $1 | awk -F"," '{print $2}'`
des=`echo $1 | awk -F"," '{print $3}'`
user=`echo $1 | awk -F"," '{print $4}'`
/usr/local/bin/inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e modify,delete,create,attrib ${dir} | while read DATE TIME DIR FILE
do
FILECHAGE=${DIR}${FILE}
/usr/bin/rsync -av --progress --delete --password-file=/etc/rsync_pass ${dir} ${user}@${ip}::${des} && echo "At ${TIME} on ${DATE},
    file $FILECHAGE was backed up via rsync" >> /var/log/rsyncd.log
done
}
count=1
# localdir,host,rsync_module,user of rsync_module,
sync1="/opt/ztb/,192.168.0.2,backup,root"
#############################################################
#main
i=0
while [ ${i} -lt ${count} ]
do
i=`expr ${i} + 1`
tmp="sync"$i
eval "sync=\$$tmp"
inotify_rsync_fun "$sync" &
done

10、授权并执行

chmod 755 inotifyrsync.sh 
bash inotifyrsync.sh &

11、同步测试

在客户端对应目录新建文件,增删改,看一下目标服务器是否改变。

  人到了一定时候,心里会丢掉一片海,好像那些需要靠岸的日子从未出现过一样

                                        ----里则林

两台Linux服务器文件同步的更多相关文章

  1. 两台linux服务器之间免密scp,在A机器上向B远程拷贝文件

    两台linux服务器之间免密scp,在A机器上向B远程拷贝文件 操作步骤:1.在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容.(如有提示是否覆盖,可输入y后按 ...

  2. 两台linux服务器之间实现挂载

    https://blog.csdn.net/lpp_dd/article/details/78743862 两台linux服务器之间实现挂载: 服务端: 1.首先需要在主机上设置允许挂载的目录 (1) ...

  3. EMC存储同时分配空间到两台LINUX服务器路径不一致导致双机盘符大小不一致

    操作系统:Centos linux6.6 当我们从EMC存储上划分空间同时分配给两台或者多台服务器上时,有的时候会出现在服务器上所生成的磁盘路径是不一致的,这样就会导致盘符名称不一致或者是盘符对应的大 ...

  4. linux命令——scp 两台linux机器间文件或目录传输

    不同的Linux之间copy文件常用有3种方法: 第一种:ftp,也就是其中一台Linux安装ftpServer,这样可以另外一台使用ftp的client程序来进行文件的copy. 第二种:采用sam ...

  5. 两台linux机器文件传输之scp

    0.写在前面:一定要注意我们是否有源文件的读权限,是否有目标文件夹的写权限!没有的话要先把权限设置好! *.设置权限的方法:切换到有权限操作文件或文件夹的用户,利用chmod命令修改权限 1.安装: ...

  6. 两台Linux服务器之间复制文件

    一.scp 1.简介 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的 2.软件安装 ...

  7. 在联网时,两台linux服务器传输文件方法

    登陆服务器root用户命令:su - root 传输文件命令:scp +需要传输linux系统文件+空格+目标linux服务器的用户名@服务器ip地址:+传输的文件路径:例:scp /mnt/work ...

  8. 两台linux服务器相互拷贝文件的两个方法

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  9. Inotify+Rsync实现Linux服务器文件同步

    做这个功能的时候遇到了好多坑,在此感谢一下这篇博客 http://kerry.blog.51cto.com/172631/734087/  ,大家参照这篇博客就能实现该功能. 另外如果想详细了解一下的 ...

随机推荐

  1. PHP array_intersect_assoc() 函数

    实例 比较两个数组的键名和键值,并返回交集: <?php$a1=array("a"=>"red","b"=>"g ...

  2. 牛客挑战赛40 VMware和基站 set 二分 启发式合并 区间覆盖

    LINK:VMware和基站 一道 做法并不常见的题目 看起来很难写 其实set维护线段就可以解决了. 容易想到 第二个操作借用启发式合并可以得到一个很不错的复杂度 不过利用线段树维护这个东西 在区间 ...

  3. 4.9 省选模拟赛 划分序列 二分 结论 树状数组优化dp

    显然发现可以二分. 对于n<=100暴力dp f[i][j]表示前i个数分成j段对于当前的答案是否可行. 可以发现这个dp是可以被优化的 sum[i]-sum[j]<=mid sum[i] ...

  4. Elasticsearch和Scala类型转换

    Scala Type ES Unit null None   null Nil empty array Some[T] according to the table Map object Traver ...

  5. HDFS---NameNode管理元数据及HA模式

    NameNode主要保存了下面的内容 1-维护元数据信息.Block和文件之间的关系,即某一个特定文件都有哪些Block: 2-每一个Block存储在什么位置(DataNode上面): 3-维护HDF ...

  6. Tomcat访问图片

    Tomcat访问图片 配置server.xml 在 节点中添加 <Context docBase="D:/Tomcat/tomcat-8083/imgs" path=&quo ...

  7. 100例Python代码带你从入门到进阶!

    以下所有代码全都至少运行一遍,确保可复现.易于理解.逐步完成入门到进阶的学习. 此教程经过我 反复打磨多遍 ,经常为此熬夜,真心不易,文章比较长,看完有用,帮我点个在看或分享支持. 教程包括 62 个 ...

  8. 6、单例模式 Singleton模式 只有一个实例 创建型模式

    1.了解Singleton模式 程序在运行时,通常都会生成很多实例.例如,表示字符串的java . lang . string类的实例与字符串是- -对- -的关系,所以当有1000个字符串的时候,会 ...

  9. CSS动画实例:图文切换

    先准备好一张图片,在页面中放置一个类名为container的层作为图文容器,在该层中再定义两个层:一个类名为image-box的层放置图片,一个类名为text-desc的层放置文本描述,HTML代码描 ...

  10. tableau用户留存分析

    1.数据源 这是个母婴产品的购买流水数据 2.数据处理 字段拆分.创建购买点会员生命周期 3.分析不同省份的留存率情况 根据第12个月的留存率对省市进行分组 实际业务中也可以通过类似的方法对用户年龄组 ...