rsync从字面意思理解为remote sync(远程同步)。rsqnc不仅可以远程同步数据,当然还可以本地同步数据,rsync不像cp/scp一样会覆盖以前的数据(如果数据存在),它会判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉。 如果你的Linux没有rsync命令,安装:# yum install -y rsync
●[root@localhost ~]# rsync -av sync.txt /tmp sending incremental file list rsync: link_stat "/root/sync.txt" failed: No such file or directory (2) sent 18 bytes received 12 bytes 60.00 bytes/sec total size is 0 speedup is 0.00 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]上面的例子表示把当前目录下的sync.txt同步到/tmp/目录下,也可以更改目标文件的名字,rsync -av sync.txt /tmp/newsync.txt,
●如果是远程拷贝的话就是这样的形式了:IP:path(如:10.0.2.34:/root/)
[root@localhost ~]# rsync -av sync.txt 192.168.200.10:/tmp/newsync.txt root@192.168.200.10's password: sending incremental file list rsync: link_stat "/root/sync.txt" failed: No such file or directory (2) sent 18 bytes received 12 bytes 5.45 bytes/sec total size is 0 speedup is 0.00 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]●rsync的命令格式 rsync [OPTION]… SRC DEST rsync [OPTION]… SRC [USER@]HOST:DEST rsync [OPTION]… [USER@]HOST:SRC DEST rsync [OPTION]… [USER@]HOST::SRC DEST rsync [OPTION]… SRC [USER@]HOST::DEST ●rsync常用选项 -a:归档模式,表示以递归方式传输文件,并保持所有属性 -r :对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项 -v: 打印一些信息出来,比如速率,文件数量等 -l :保留软链结 -L: 向对待常规文件一样处理软链结,如果是SRC中有软连接文件,则加上该选项后将会把软连接指向的目标文件拷贝到DST -p: 保持文件权限 -o :保持文件属主信息 -g :保持文件属组信息 -D :保持设备文件信息 -t :保持文件时间信息 –delete :删除那些DST中SRC没有的文件 –exclude=PATTERN: 指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt) –progress :在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等 -u :加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖 常用的选项页仅仅那么几个: (-a -v --delete --exclude), 请熟记他们吧。