linux中的同步命令rsync

wtyufdssyh 2013-04-03

1、

在网上查找了很多rsync的用法,总结出一条可用的语句如下:

/usr/bin/rsync-vzrtopg--delete/****/resFolder-e'ssh-p8855'[email protected].*.*:/****/desFolder

意为:把源服务器上的resFolder的文件夹,同步到目标服务器上。

2、

用rsync命令有个限制,必须两台服务器都装了rsync工具。

如果没有的话,安装步骤如下:

下载地址:http://samba.anu.edu.au/rsync/

(1)安装

#tarzxvfrsync-3.0.5.tar.gz

#./configure--prefix=/usr/local/rsync

#make&&makeinstall

(2)添加配置文件

添加/etc/rsyncd.conf文件,文件内容如下:

logfile=/var/log/rsyncd.log#日志位置

pidfile=/var/run/rsyncd.pid#进程号存放位置

lockfile=/var/run/rsync.lock#锁文件存放位置

uid=root#守护进程的用户权限

gid=root

#port=873#rsync使用的端口,默认873

#hostsallow=192.168.1.2#全局允许通过的IP地址

maxconnections=5#客户端最大连接数目

[back]#要同步的模块名

path=/back#要同步的目录

comment=source#

ignoreerrors#忽略IO错误

readonly=no#no客户端可上传文件,yes只读

writeonly=no#no客户端可下载文件,yes不能下载

#list=yes#是否提供资源列表

authusers=back_root#登陆系统使用的用户名,没有默认为匿名。

hostsallow=192.168.1.3#本模块允许通过的IP地址

hostsdeny=192.168.1.4#禁止主机IP

secretsfile=/etc/rsync.pass#密码文件存放的位置

(3)配置密码文件

密码文件为配置文件中所写的文件/etc/rsync.pass格式为

账户:密码

(4)修改配置文件和密码文件权限为600

#chmod600/etc/rsyncd.conf

#chmod600/etc/rsync.pass

(5)启动守护进程

#rsync--daemon

可以通过以下两条命令查看进程是否存在

ps-aux|greprsync

netstat-an|grep873

(6)结束

以上是复制的,来自http://wuyizhaizhu.blog.163.com/blog/static/1151518692010725381632/

比较靠谱。

如果启动进程时报错了,肯定是配置文件有写错的地方。仔细检查一下吧。着急是木有用滴。

3、如果想在同步的文件夹中,忽略掉其中的某个文件夹或文件的话,用--exclude文件建议如下:

新建一个txt文档,比如exclude.txt,里面写上需要忽略的内容。如下:

aaa

bbb

ccc/aa.txt

ddd/bb.xml

然后rsync的执行语句如下:

/usr/bin/rsync-vzrtopg--delete--exclude-from="/****/exclude.txt"/****/resFolder-e'ssh-p8855'[email protected].*.*:/****/desFolder

总结:

比较好使。比scp强大。

相关推荐