两台Linux服务器文件同步
在给公司或者学校做系统部署的时候,为了数据安全往往我们至少需要两台服务器,接下来请看:
我们要实现的是把客户端(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服务器文件同步的更多相关文章
- 两台linux服务器之间免密scp,在A机器上向B远程拷贝文件
两台linux服务器之间免密scp,在A机器上向B远程拷贝文件 操作步骤:1.在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容.(如有提示是否覆盖,可输入y后按 ...
- 两台linux服务器之间实现挂载
https://blog.csdn.net/lpp_dd/article/details/78743862 两台linux服务器之间实现挂载: 服务端: 1.首先需要在主机上设置允许挂载的目录 (1) ...
- EMC存储同时分配空间到两台LINUX服务器路径不一致导致双机盘符大小不一致
操作系统:Centos linux6.6 当我们从EMC存储上划分空间同时分配给两台或者多台服务器上时,有的时候会出现在服务器上所生成的磁盘路径是不一致的,这样就会导致盘符名称不一致或者是盘符对应的大 ...
- linux命令——scp 两台linux机器间文件或目录传输
不同的Linux之间copy文件常用有3种方法: 第一种:ftp,也就是其中一台Linux安装ftpServer,这样可以另外一台使用ftp的client程序来进行文件的copy. 第二种:采用sam ...
- 两台linux机器文件传输之scp
0.写在前面:一定要注意我们是否有源文件的读权限,是否有目标文件夹的写权限!没有的话要先把权限设置好! *.设置权限的方法:切换到有权限操作文件或文件夹的用户,利用chmod命令修改权限 1.安装: ...
- 两台Linux服务器之间复制文件
一.scp 1.简介 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的 2.软件安装 ...
- 在联网时,两台linux服务器传输文件方法
登陆服务器root用户命令:su - root 传输文件命令:scp +需要传输linux系统文件+空格+目标linux服务器的用户名@服务器ip地址:+传输的文件路径:例:scp /mnt/work ...
- 两台linux服务器相互拷贝文件的两个方法
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- Inotify+Rsync实现Linux服务器文件同步
做这个功能的时候遇到了好多坑,在此感谢一下这篇博客 http://kerry.blog.51cto.com/172631/734087/ ,大家参照这篇博客就能实现该功能. 另外如果想详细了解一下的 ...
随机推荐
- activiti7 获取流程定义的xml
RepositoryService repositoryService = ProcessEngines.getDefaultProcessEngine().getRepositoryService( ...
- SpringBoot+Shiro+JWT前后端分离实现用户权限和接口权限控制
1. 引入需要的依赖 我使用的是原生jwt的依赖包,在maven仓库中有好多衍生的jwt依赖包,可自己在maven仓库中选择,实现大同小异. <dependency> <groupI ...
- windows:进程查杀
windows平台中,某些进程做了各种保护,比如hook了terminateProcess,又或者注册了进程终止函数的回调.当调用这些API或任务管理器终止该进程时,会被绕过,典型如某些杀毒软件,怎么 ...
- 要做重试机制,就只能选择 DelayQueue ?其实 RabbitMQ 它上它也行!
原文链接:要做重试机制,就只能选择 DelayQueue ?其实 RabbitMQ 它上它也行! 一.场景 最近研发一个新功能,后台天气预警:后台启动一条线程,定时调用天气预警 API,查询现有城市的 ...
- UIPickView的简单使用
好记性不如烂笔头,勤做笔记. 摘要: 1.UIPickVIew 几个重要的属性 (1)datePickerMode UIDatePickerModeTime, // Displays hour, mi ...
- echarts全国疫情统计可视化地图(第一阶段)
DBUtil.java package com.helloechart; import java.sql.Connection; import java.sql.DriverManager; impo ...
- Python 为什么能支持任意的真值判断?
本文出自"Python为什么"系列,请查看全部文章 Python 在涉及真值判断(Truth Value Testing)时,语法很简便. 比如,在判断某个对象是否不为 None ...
- Cenos系统防火墙开放指定端口
1.查看已经开放的端口 firewall-cmd --list-ports 2.开启指定端口 firewall-cmd --zone=public --add-port=2181/tcp --perm ...
- 冷饭新炒:理解Snowflake算法的实现原理
前提 Snowflake(雪花)是Twitter开源的高性能ID生成算法(服务). 上图是Snowflake的Github仓库,master分支中的REAEMDE文件中提示:初始版本于2010年发布, ...
- Setup Factory 9 打包安装程序过程中提示安装.net4.5、并启用md5加密算法
1.在Before Installing选项卡中选择Ready to Install,点击Edit进入编辑窗口,切到最后一个选项卡Actions,把判断内容复制进去 -- These actions ...