rsync命令详解

说明:
Rsync是linux/Unix文件同步和传送工具。用于替代rcp的一个工具,rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时rsync server会开一个873端口,等待客户端去连接。连接时,rsync server会检查口令是否相符,若通过口令查核,则可以通过进行文件传输,第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份.

安装:

#wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz#tar xf rsync-3.0.9.tar.gz# cd rsync-3.0.9# ./configure && make && make install

 
参数:

-v,--verbose  详细模式输出;-a,--archive  归档模式,表示以递归的方式传输文件,并保持所有文件属性不变,相当于使用了组合参数-rlptgoD;-r, --recursive 对子目录以递归模式处理;-l, --links 保留软链结;-p, --perms 保持文件权限;-t, --times 保持文件时间信息;-g, --group 保持文件属组信息;-o, --owner 保持文件属主信息;-D, --devices 保持设备文件信息;-H, --hard-links 保留硬链结;-S, --sparse 对稀疏文件进行特殊处理以节省DST的 空间;--delete 删除那些DST中SRC没有的文件;-z, --compress 对备份的文件在传输时进行压缩处理;

 
rsync六种不同的工作模式:
1.拷贝本地文件,将/home/coremail目录下的文件拷贝到/cmbak目录下

# rsync -avSH /home/coremail/ /cmbak/

 
2.拷贝本地机器的内容到远程机器

# rsync -av /home/coremail/ 192.168.11.12:/home/coremail/

 
3.拷贝远程机器的内容到本地机器

# rsync -av 192.168.11.11:/home/coremail/ /home/coremail/

 
4.拷贝远程rsync服务器(daemon形式运行rsync)的文件到本地机。

# rsync -av [email protected]::www /databack

 
5.拷贝本地机器文件到远程rsync服务器(daemon形式运行rsync)中。当DST路径信息包含”::”分隔符时启动该模式。

# rsync -av /databack [email protected]::www

 
6.显示远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。

# rsync -v rsync://192.168.11.11/data

 
rsync配置文件说明:

# cat/etc/rsyncd.conf  //内容如下port = 873   //端口号uid = nobody  //指定当模块传输文件的守护进程UIDgid = nobody  //指定当模块传输文件的守护进程GIDuse chroot = no  //使用chroot到文件系统中的目录中max connections = 10  //最大并发连接数strict modes = yes  //指定是否检查口令文件的权限pid file = /usr/local/rsyncd/rsyncd.pid  //指定PID文件lock file = /usr/local/rsyncd/rsyncd.lock  //指定支持max connection的锁文件,默认为/var/run/rsyncd.lockmotd file = /usr/local/rsyncd/rsyncd.motd  //定义服务器信息的,自己写 rsyncd.motd 文件内容log file = /usr/local/rsyncd/rsync.log  //rsync 服务器的日志log format = %t %a %m %f %b
syslog facility = local3
timeout = 300[conf]  //自定义模块path = /usr/local/nginx/conf  //用来指定要备份的目录comment = Nginx conf
ignore errors  //可以忽略一些IO错误read only = no  //设置no,客户端可以上传文件,yes是只读write only = no  //no为客户端可以下载,yes 不能下载hosts allow = 192.168.2.0/24  //可以连接的IPhosts deny = *  //禁止连接的IPlist = false  //客户请求时,使用模块列表uid = root
gid = root
auth users = backup  //连接用户名,和linux系统用户名无关系secrets file = /etc/rsyncd.pass  //验证密码文件


你可能感兴趣的:(linux,server,客户端)