由于服务器无法上网,所以需要先把需要的rpm文件准备好.在自己的虚拟机上准备. 1.安装yum插件(centos6.5需要,6.9自带了) yum install yum-plugin-downloadonly 2.下载所有依赖包 rsync编译需要gcc,make,make 需要 perl 确认需要哪些包并下载到/tmp: yum install --downloadonly --downloaddir=/tmp gcc yum install --downloadonly --downloaddir=/tmp perl yum install --downloadonly --downloaddir=/tmp make 3.安装所有下载的包 rpm -ivh *.rpm --nodeps --force
tar zxvf rsync-3.1.3.tar.gz
cd rsync-3.1.3
./configure --prefix=/usr/local/rsync
./configure
make
make install
说明 : rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数
vi /etc/rsyncd.conf
######################################################################################################
# ******进程相关全局配置******
######################################################################################################
# = 后面的值可根据自己的实际情况更改
# pid file 守护进程pid文件
# port 守护进程监听端口,可更改,由xinetd允许rsyncd时忽略此参数
# address 守护进程监听的本机ip,由xinetd允许rsyncd时忽略此参数
pid file = /usr/local/var/run/rsyncd.pid
port = 873
address = 193.169.1.79
#模块验证密码文件
secrets file=/etc/rsyncd.secrets
#rsyncd 守护进程运行系统用户全局配置,也可在具体的块中独立配置,
uid = root
gid = root
#允许 chroot,提升安全性,客户端连接模块,首先chroot到模块path参数指定的目录下
#chroot为yes时必须使用root权限,且不能备份path路径外的链接文件
use chroot = no
#只读
read only = no
#只写
write only = no
#允许访问rsyncd服务的ip,ip端或者单独ip之间使用空格隔开
hosts allow = 193.169.1.218
#不允许访问rsyncd服务的ip,*是全部(不涵盖在hosts allow中声明的ip,注意和hosts allow的先后顺序)
hosts deny =
#客户端最大连接数
max connections = 5
#欢迎文件路径,可选的
motd file = /etc/rsyncd.motd
#日志相关
# log file 指定rsync发送消息日志文件,而不是发送给syslog,如果不填这个参数默认发送给syslog
# transfer logging 是否记录传输文件日志
# log format 日志文件格式,格式参数请google
# syslog facility rsync发送消息给syslog时的消息级别,
# timeout连接超时时间
log file = /usr/local/logs/rsyncd.log
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[mailfiles]
path = /root/temp
list=no
auth users = admin
名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)
账号:密码
#vi /etc/rsyncd.secrets
admin:elink@D18
chmod 600 /etc/rsyncd.secrets 权限:因为rsync.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pas设置为root拥有, 且权限为600。
vi /etc/rsyncd.motd
rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:
Welcome to use the rsync services!
RSYNC服务端启动的两种方法
/usr/bin/rsync –daemon
/etc/rc.d/init.d/xinetd reload
在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync --daemon加载进去。 vi /etc/rc.local /usr/bin/rsync --daemon 或 echo "rsync --daemon" >>/etc/rc.local 或 chkconfig rsync on
netstat -a | grep rsync
========================================================================
cwRsync_4.0.5_Installer.exe windows server 端cwrsync-server现在收费了,最后一个免费版本是4.1.0.本处只使用客户端.
建立 c:/etc/rsyncd.secrets 文件,内容如下,即只存密码即可.
elink@D18
windows: rsync -vzrtopg --progress --delete admin@193.169.1.34::mailfiles /cygdrive/c/temp --password-file=/cygdrive/c/etc/rsyncd.secrets linux: /usr/bin/rsync -vzrtopg --progress --delete admin@193.169.1.34::mailfiles /cygdrive/c/temp --password-file=/etc/rsyncd.secrets
windows: rsync -vzrtopg --progress --delete /cygdrive/c/temp/ admin@193.169.1.79::mailfiles --password-file=/cygdrive/c/etc/rsyncd.secrets linux: /usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas /home/backup hening@192.168.0.217::backup 这个命令将把本地机器/home/backup目录下的所有文件(含子目录)全部备份到RSYNC SERVER(172.20.0.6)的backup模块的设定的备份目录下。 请注意如果路径结束后面带有"/",表示备份该目录下的东东,但不会创建该目录,如不带"/"则创建该目录。
注意 :若端口不是标准的873则需要在命令行中加 --port=8730 参数.
RSYNC用法: rsync [OPTION]... [USER@]HOST::SRC [DEST] #从RSYNC SERVER备份文件到本地机器 rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST #从本地机器备份文件到RSYNC SERVER
linux:crontab -e windows:系统定时任务 建议只进行推的工作,即定时从工作机向服务器推送文件,删除也如此,不进行从服务器向工作机的拉的动作,防止删除工作机新生成的文件.
只有 11.22.33.44 这个 client IP 能进入这台 rsync server. iptables -A INPUT -p tcp -s ! 11.22.33.44 --dport 873 -j DROP 开放873端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
rsync命令参数 -v表示verbose详细显示 -z表示压缩 -r表示recursive递归 -t表示保持原文件创建时间 -o表示保持原文件属主 -p表示保持原文件的参数 -g表示保持原文件的所属组 -a存档模式 -P表示代替-partial和-progress两者的选项功能 -e ssh建立起加密的连接。 --partial阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上 删除已拷贝的部分文件。) --progress是指显示出详细的进度情况 --delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。 --exclude不包含/ins目录 --size-only 这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同。 --password-file来指定密码文件,内容包含server端指定认证用户的密码。 这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。 hening@192.168.0.217::backup hening是指server端指定认证的用户 192.168.0.217是指服务器端的ip ::backup 表示服务器端需要同步的模块名称; /home/quack/backup/$DATE是同步后的文件指存放在本机的目录地址。 /var/log/rsync.$DATE是同步后的日志文件存放在本机的目录地址。
不放/ 则目录名也包含mirror,放 / 则只有目录里面的东西mirrors
1.只开一个端口873是可以正常同步的 2.过防火墙测试 端口映射只需要映射一个873(原生) 或其它(自定义了rsyncd的端口)即可. 环境配置:服务端:8730,防火墙:33333--->193.169.1.34:8730 下面是客户端的命令: rsync -avz --progress --delete /cygdrive/c/temp/ admin@218.26.36.12::mailfiles --password-file=/cygdrive/c/etc/rsyncd.secrets --port=33333 错误解决: @ERROR: Unknown module 'mailfiles' rsync error: error starting client-server protocol (code 5) at main.c(1506) [sender=3.0.7] 解决:服务器加了限制访问IP为193.169.1.218,去除后问题解决.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。