rsync自动同步

Rsync介绍

sync是类unix系统下的数据镜像备份工具——remote sync。一款快速增量备份工具 Remote Sync,远程同步支持本地复制,或者与其他SSH、rsync主机同步。

特性如下:

1,.可以镜像保存整个目录树和文件系统。

2.可以很容易做到保持原来文件的权限、时间、软硬链接等等。

3.无须特殊权限即可安装。

4.快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 5.在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。

6.安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。

7.支持匿名传输,以方便进行网站镜象。

关于配置方面比较简单,服务器需要三个文件

rsyncd.conf -------主配置文件

rsyncd.secrets-----用户名密码文件

rsyncd.motd-------欢迎界面文件(可选,用于识别被访主机,本例不提)

客户端一般可以不需做设置

下面是配置服务器

查看或者安装

rpm -qa | grep rsync

rsync-3.0.6-9.el6.x86_64

Vi /etc/rsyncd.conf 配置文件是要手动创建的。

cat /etc/rsyncd.conf

stributed under the terms of the GNU GeneralPublic License v2

#Minimal configuration file for rsync daemon

#See rsync(1) and rsyncd.conf(5) man pages forhelp

# This line is required by the/etc/init.d/rsyncd script

#告诉进程写到 /var/run/rsyncd.pid 文件中

pid file = /var/run/rsyncd.pid

#指定运行端口,默认是873

port = 873

#指定服务器IP地址

address = 192.168.100.210

#服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody。如果用nobody 用户和用户组,可能遇到权限问题

#uid = nobody

#gid = nobody

uid = root

gid = root

#一个安全选项详情自己去查查

use chroot = yes

#read only 是只读选择,也就是说,不让客户端上传文件到服务器上。还有一个 write only选项

read only = yes

#在您可以指定单个IP,也可以指定整个网段,能提高安全性。格式是ip 与ip 之间、ip和网段之间、网段和网段之间要用空格隔开

#limit access to private LANs

hosts allow=192.168.100.0/255.255.255.010.0.1.0/255.255.255.0

hosts deny=*

max connections = 5

motd file = /etc/rsyncd.motd

#This will give you a separate log file

#log file = /var/log/rsync.log

#This will log every file transferred - up to85,000+ per user, per sync

#transfer logging = yes

log format = %t %a %m %f %b

syslog facility = local3

timeout = 300

#指定文件目录所在位置

[home]

path = /home/server

list=yes #是否可以列出目录

ignore errors # #忽略IO错误

#auth users必须是在服务器上存在的真实的系统用户,如果你想用多个用户以,号隔开,比如auth users = easylife,root

auth users = root

secrets file = /etc/rsyncd.secrets

comment = This is RHEL 4 data

可以看到有密码文件在/etc/rsyncd.secrets,也是要手动创建。

cat /etc/rsyncd.secrets

root:123456

这里用的用户名是root 密码是123456

也可以加入多个用户以及密码,格式

root:123456

tom:tom123

创建后此文件权限必须是600 可用chmod 600 /etc/rsyncd.secrets更改。

服务器端启动 rsync –daemon

查看启动服务所用的端口 lsof –I:873

lsof -i:873

COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

xinetd 1598 root    5u  IPv6 13172      0t0  TCP *:rsync (LISTEN)

这里我之前安装了xinetd保护进程,可以直接用

chkconfig | grep rsync

rsync:           启用

也可以将其加入到系统启动

vi /etc/rc.d/rc.local

/usr/bin/rsync –daemon

保存

服务器已经完毕!

客户端不用启动rsync服务

  1. 1.  密码文件
  2. 2.  同步的目录,此处用的

cat /etc/rsyncd.secrets

123456

  1. 3.  必须更改密码文件权限问600,与服务器端一致

ll /etc/rsyncd.secrets

-rw-------. 1 root root 7 1月  2606:14 /etc/rsyncd.secrets

查看服务器共享的数据源可以看到服务器的同步模块是【home】,在主配置文件中可看到

rsync --list-only [email protected]::

home             This is RHEL 4 data

测试同步:

在服务器端

touch/home/server/111

[[email protected] ~]#ls /home/server/

111

客户端执行

rsync [email protected]::home /home/ftp

Password:

receivingincremental file list

./

111

0 100%    0.00kB/s   0:00:00 (xfer#1, to-check=0/2)

sent 76bytes  received 146 bytes  63.43 bytes/sec

total size is0  speedup is 0.00

文件111已经同步到客户端本地/home/ftp

ls /home/ftp

111

现在要按时或者定时去让客户端同步服务器文件,用crontab加脚本完成

Vi /tmp/ rsyncd.sh

内容:

cat /tmp/rsyncd.sh

rsync -avzP --delete--password-file=/etc/rsyncd.secrets [email protected]::home /home/ftp/

--delete参数说明:客户端必须和服务端文件一直,多余的数据会被删除,注意务必同步到重要数据的目录或者将数据进行备份

保证密码文件目录正确

crontab -e

*/5 * * * * sh /tmp/rsyncd.sh #第5分钟执行一次同步;

服务端新建222

touch /home/server/222

等时间到了看客户端

ls /home/ftp

111  222

已经实现定时同步功能。

查看crond任务以及状态

crontab -l

*/5 * * * * sh /tmp/rsyncd.sh

service crond status

crond (pid  1954) 正在运行...

crond可以用kill关闭

时间: 2024-10-05 04:09:19

rsync自动同步的相关文章

rsync自动同步软件安装和使用

一.介绍 (不想看直接可以跳过) Rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync本来是用以取代rcp的一个工具,它当前由 rsync.samba.org维护.Rsync使用所谓的"Rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.运行Rsync server的机器也叫backup server,一个Rsync server可同时备份多个client的数据:也可以

Rsync 自动同步压缩日志文件至备份服务器

业务场景:将所有服务器内的日志文件以小时为单位压缩后保存同时清空源日志文件.此后通过rsync + inotify 机制将压缩文件统一备份到日志服务器内.实现对日志文件的统一保存和备份.rsync 和inotify这里就不介绍了!有兴趣的可以到官网查看.大致服务架构图: 一.三台机器的IP分别为:br/>源服务器:172.20.2.108目标(备份)服务器:172.20.2.225@todo:从源服务器(172.20.2.108)的/data/目录下的所有的文件实时通过到目标服务器(172.20

rsync自动同步脚本

#!/bin/shbak_path="/var/atlassian/application-data/confluence/backups"rsync [email protected]:$bak_path/ /backup/backup/technet -avzu 配合crontab命令使用 * * * * * sh /root/sh/backup.sh

linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录

最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之. ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令. [plain] view plain copy ##登录 ssh [email protected]_or_ip ##执行远程命令 ss

rsync结合inotify实现数据自动同步

rsync+inotify rsync介绍 rsync是一个远程数据同步工具,可通过lan/wan快速同步多台主机间的文件.它使用所谓的"rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行rsync server的机器也叫backup server,一个rsync server可同时备份多个client的数据:也可以多个rsync server备份一个client的数

利用Inotify和Rsync将web工程文件自动同步到多台应用服务器

背景:需要搭建一套跟线上一模一样的环境,用来预发布,这是其中的web分发的一个小模块的实现过程. 1 工具以及环境简介 1.1,Inotify工具 Inotify,它是一个内核用于通知用户空间程序文件系统变化的机制.众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如hotplug.udev 和 ino

Rsync+Inotify实现文件自动同步

1>rsync概述 rsync的优点与不足 rsync与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的       备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等. 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务      系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输:如果文件数量达到

rsync+inotify自动同步

rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的"Rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行Rsync server的机器也叫backup server,一个Rsync server可同时备份多个client的数据:也可以多个Rsync server备份一个client的数据.Rsync可以搭配ssh甚至使用daem

rsync+inotify 实现自动同步

一.定期同步和自动同步的区别 定期同步: 执行备份的时间固定,延期明显,实时性差 当同步源长期不变化时,密集的定期任务是浪费资源的. 自动同步: 一旦同步源出现变化,立即启动备份,实时性好 只要同步源无变化,则不执行备份,节省资源. 二.inotify 1.inotify 简介 inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事 件警告,比如删除.读.写和卸载操作等.要使用 inotify,必须具备一台带有 2.6.13 版本的内核操作系统. in