使用方法:
rsync -av 192.168.31.182:/tmp/1.txt /tmp/ (将服务器192.168.31.182中tmp文件夹下的1.txt文件拷贝到本机的tmp目录下)
rsync -av /tmp/1.txt 192.168.31.182:/tmp/ (将本机的tmp目录下的1.txt文件拷贝到服务器192.168.31.182中tmp文件夹下)
rsync -av 192.168.31.182::longfei/123/1.txt /tmp/ (demo从服务器复制到本地)
rsync -av /tmp/1.txt 192.168.31.182::longfei/123/ (demo从本地复制到服务器)
选项:
-a == -rlptgoD
-v == 可视化
--delete == a-->b删除同步过程中a没有b有的文件
--exclude=PATTERN == 同步过程中不同步某些文件夹
-P == 能够查看同步进度,类似于-v
-u == a-->b避免覆盖b机器上已经修改过的文件内容
-avL (可以将有软链接的文件直接同步拷贝)
rsync -av 111/ /tmp/123/ (将111目录下的文件拷贝到/tmp/123/下)
rsync -avL 111/ /tmp/123/ (将有软链接的文件的链接的文件直接覆盖拷贝到/tmp/123/下对应的文件)
rsync -avL --delete 111/ /tmp/123/ (将有软链接的文件的链接的文件直接覆盖拷贝到/tmp/123/下对应的文件,且将原文件夹内删除的文件,在目标文件夹内也删除)
rsync -avLu 111/ /tmp/123/ (将有软链接的文件的链接的文件直接覆盖拷贝到/tmp/123/下对应的文件,且不会将目标文件夹内已经修改的文件覆盖)
rsync -avLu --exclude="*.txt" 111/ /tmp/123/ (将有软链接的文件的链接的文件直接覆盖拷贝到/tmp/123/下对应的文件,且不会将目标文件夹内已经修改的文件覆盖,但是不拷贝原文件夹内的所有.txt结尾的文件)
rsync -avLuPz --exclude="*.txt" 111/ /tmp/123/ (将有软链接的文件的链接的文件直接覆盖拷贝到/tmp/123/下对应的文件,且不会将目标文件夹内已经修改的文件覆盖,但是不拷贝原文件夹内的所有.txt结尾的文件,并显示当前拷贝进度,并将拷贝内容压缩后传输)
rsync -avPz -e "ssh -p 10022" 192.168.31.182/tmp/111/ ./111/ (指定端口进行拷贝传输)
rsync -avL --delete --exclude root@192.168.1.1::mokuaiming/test ./ --password-file=/home/admin/rsyncd.passwd (rsync参考词条,较全)
rsync后台服务方式
配置文件:
/etc/rsyncd.conf (配置文件,可自定义,现在为自动加载)
配置文件内容:
prot=8730
log file=/var/log/rsync.log
pid file=/var/run/rsync.pid
[mokuaiming]
path=/tmp/rsync #目录要真实存在
use chroot=yes #是否把登录用户限定在当前目录下,对软链接有限制,如果有软链接文件,需要改为no
max connections=4
read only=no #登录到该目录下,且限定目录文件是否只读,如果需要将服务器文件下载下来,需要改为no
list=yes #能否使用rsync --prot 8730 192.168.31.182 命令把模块名字列出
uid=root
gid=root
auth users=sponge
secret file=/etc/rs.passwd #密码权限需要可读
hosts allow=192.168.31.182 192.168.31.18 #允许哪些ip能够连接
[mokuaiming2] #不需要用户认证都可以拷贝,且任何机器都能连接
path=/tmp/rsync123 #目录要真实存在
use chroot=yes #是否把登录用户限定在目录下
max connections=4
read only=no #登录到该目录下,且只读
list=yes #是否把模块名字列出
uid=root
gid=root
rsync --demon (启动rsync的demon进程,更改配置文件后不需要重启进程,直接生效)
rsync -avPz --prot 8730 192.168.31.182::mokuaiming/tmp/rsync/1.txt ./ (同步文件格式)
rsync -avPz --prot 8730 sponge@192.168.31.182::mokuaiming2/tmp/rsync123/1.txt ./ (同步文件格式)
rsync -avPz --prot 8730 --password-file=/tmp/rsync.passwd.txt sponge@192.168.31.182::mokuaiming2/tmp/rsync123/1.txt ./ (不需要输入密码,直接能够进行传输,但是密码文件中需要写入密码,且一个文件只能存一个密码)
diff (对比两个文件的差异)
使用方法:
diff /tmp/1.txt /etc/init.d (对比两个文件异同)
原文地址:http://blog.51cto.com/culiangmianbao/2052325