分类: 系统运维
2015-04-27 23:12:18
原文地址:
rsync:
rsync是一个实现快速曾量备份文件的工具,他提供了一种非常快速的办法将远程文件进行同步,他只发送文件的不同的地方,而不是同步整个文件
提供下载的网址:
rsync一些特性:
1、可以同步整个目录或者文件系统
2、可以同步软连接,硬链接,文件属性(主,组,权限,时间等等)
3、不需要特殊的权限就可以安装使用
4、减少传输文件的延迟
5、可以使用rsh,ssh或者更直接的socket来进行传输
用法:
本地:
rsync [option] src [dest]
远程:
pull:rsync [option] [user@]host:src [dest]
push:rsync [option] src [user@]host:dest
通过配置文件:
pull:rsync [option] [user@]host::src [dest]
rsync [option] rsync://[user@]host[:port]/src dest
push:rsync [option] src [user@]host::dest
rsync [option] src rsync://[user@]host[:port]/dest
注:如果只有源没有目的地址,就会列出源的文件
rsync ip:: 列出模块
rsync:常用 -a,-v
-a(--archive):r,l,p,t,g,o,D
-r(--recursive):复制目录
-v(--vervose):可视化
-l(--links):保留软连接
-p(--perms):保留权限
-L(--copy-links):直接拷贝软连接指向的源文件
--no-:关闭一个选项的功能
--no-l:去掉-l选项的属性
-z(--compress):压缩
-z(--compress-level=num):确定压缩等级
-e “ssh -p port“:改变传输端口,默认22
-P:显示详细信息,传输速度等
-u(--update):不覆盖远程服务器上比现在新的文件,mtime
--delete:删除远程文件中多余的文件
--exclude=filename:不同步filename
--exclude-from=file:从文件中读取不同步的文件
--bwlimit=100:配置速率
--include:包含文件,可以跟--exclude选项同时使用,只同步指定的文件
--include-from=file:从文件中读取包含的文件
rsync -av --include=“*.jpg" --exclude=* /src/ /des/只同步*.jpg的文件
--files-from=filename,读取文件中的文件名,当做同步的源
如果我的文件里的内容是
/data/a/a.txt
/data/b.txt
/data/c/b/c.txt
rsync -av --file-from=1.txt / /des/ 如果我的文件里写的是绝对路径,源就是/
配置文件:
全局配置:
motd file: |
每次登陆的时候显示的信息,一般是站点信息 |
pid file: |
保存进程号的文件 |
port |
定义端口号,默认873 |
max connection |
最大连接数 |
address |
定义坚挺地址,覆盖默认地址 |
模块配置
comment |
登陆信息后面,显示模块描述 |
path |
用此模块是时同步的路径 |
log file |
定义日志文件,没有定义的时候,日志放在syslog中,如果定义在模块中,全局文件仍会包含日志信息 |
lock file |
该参数指定要使用的文件,以支持“最大连接数”参数。 rsync守护进程使用这个文件记录锁定,以确保最大连接数限制不超过共享锁定文件的模块。默认值是/var/run/rsyncd.lock。 |
read only=true/false |
允许/不允许上传 |
write only=true/false |
允许/不允许下载 |
list=true/false |
允许/不允许列出文件列表 |
uid/gid |
传输的时候用的用户和组,默认nobody |
auth users |
定义认证用户,@表示组,格式:user:deny (空格)@admin:deny(空格)root:rw,权限覆盖read only |
secrets file=/PATH |
如果指定了auth users参数,值查询此文件,模式username:password或者@groupname:password |
hosts allow |
如果IP地址没有在允许里面,拒绝 |
hosts deny |
如果和allow一起,先检查allow在检查deny |