rsync配置

1.什么是rsync?

 rsync 是一个linux,Unix系统下的文件同步和传输工具。rsync是用 “rsync 算法”提供了一个客户机和远程文件服务的文件同步的快速方法。
Some features of rsync include
rsync 包括如下的一些特性:
* can update whole directory trees and filesystems
能更新整个目录和树和文件系统;
* optionally preserves symbolic links, hard links, file ownership, permissions, devices and times
有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
* requires no special privileges to install
对于安装来说,无任何特殊权限要求;
* internal pipelining reduces latency for multiple files
对于多个文件来说,内部流水线减少文件等待的延时;
* can use rsh, ssh or direct sockets as the transport
能用rsh、ssh 或直接端口做为传输入端口;
* supports anonymous rsync which is ideal for mirroring
支持匿名rsync 同步文件,是理想的镜像工具;

 

 

2.rsync配置:server端的配置文件有rsyncd.conf   rsyncd.motd   rsyncd.secrets

   rsyncd.conf :是rsync服务器主要配置文件

 

[root@localhost ~]# cat /etc/rsyncd.conf
secrets file = /etc/rsyncd.secrets
motd file = /etc/rsyncd.motd
read only = yes
list = yes
uid = nobody
gid = nobody
max connections = 2
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[wwwroot]
comment = Share directory
path = /rsyncdir/mydir

auth users = rsync
read only =no

 

注: 关于 auth users 是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开;比如 auth users = beinan , linuxsir

注:read only 是只读选择,也就是说,不让客户端上传文件到服务器上。

注:list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。如果你不想列出来,就no ;如果是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。你自己知道就行了;

  

    密码文件:/etc/rsyncd/rsyncd.secrets的内容格式为:用户名:密码

  

[root@localhost ~]# cat /etc/rsyncd.secrets
rsync:rsync

  

rsyncd.motd 文件,它是定义rysnc 服务器信息的,也就是用户登录信息。比如让用户知道这个服务器是谁提供的等;类似ftp服务器登录时,我们所看到的 linuxsir.org ftp ……。 当然这在全局定义变量时,并不是必须的,你可以用#号注掉,或删除;我在这里写了一个 rsyncd.motd的内容为:

[root@localhost ~]# more /etc/rsyncd.motd
Welcome to use the rsync services!

 

 

 3.启动rsync服务

   启动rsync 服务器相当简单,--daemon 是让rsync 以服务器模式运行:

   rsync --daemon

 

 注: 如果你找不到rsync 命令,你应该知道rsync 是安装在哪了。运行whereis rsync

 

4.客户端

rsync -vazu /data/  rsync@hostip::wwwroot --password-file=/etc/rsyncd.secrets
 

你可能感兴趣的:(算法,linux,unix,ssh)