RSync实现文件备份同步: 简介: remote synchronize:一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息, rsync是用 “rsync 算法”提供了一个客户机 和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。因为rsync是一款如此有用 的软件,所以很多Linux的发行版本都将它收录在内了 特性:
架设rsync服务器: 1.安装: #yum方式安装 #源码方式,注意安装gcc tar xvf rsync-xxx.tar.gz cd rsync-xxx ./configure --prefix=/usr/local make ;make install
rsync的主要有以下三个配置文件(需要手工创建): #Distributed under the terms of the GNU General Public License v2 #Minimal configuration file for rsync daemon #See rsync(1) and rsyncd.conf(5) man pages for help # 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.1.171 #服务器端传输文件时,要发哪个用户和用户组来执行,默认是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.1.0/255.255.255.0 10.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 to 85,000+ per user, per sync #transfer logging = yes log format = %t %a %m %f %b syslog facility = local3 timeout = 300 #指定文件目录所在位置 [home] path = /home 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 #exclude是排除的意思,也就是说,要把/home目录下的easylife和samba排除在外; easylife/和samba/目录之间有空格分开 exclude = easylife/ samba/
模块定义什么呢?
启动rsync服务器:
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
--config用于指定rsyncd.conf的位置,如果在/etc下可以不写/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
rsync有六种不同的工作模式:
1. 拷贝本地文件;当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。
rsync中的参数
-r 是递归 一些实例:
//注:server为modul名[server] //列出rsync 服务器上的所提供的同步内容 rsync --list-only root@192.168.145.5::server //列出目录: rsync --list-only root@192.168.93.149::server //从服务端取数据(客户端只会增加文件); rsync -avzP root@192.168.93.149::server rhel4home[本地目录] //从服务端取数据(使客户端的文件和服务端完全一致,会删除客户端多余的文件); rsync -avzP --delete root@192.168.93.149::server ./ //密码从文件中读取: 注意此时的密码文件里面只需要写密码不要写用户名 和服务端的文件是不同的 rsync -avzP --delete --password-file=/etc/rsyncd.secrets root@192.168.93.149::server ./ //客户端向服务端提交文件(只需要把目录更换位置即可) rsync -avzP --delete --password-file=/kang/sercet ./ root@192.168.93.149::server
(责任编辑:IT) |