linux同步命令rsync

2013-03-19

rsync是一个功能非常强大的工具,rsync 差不多可以代替 cp 和 scp,此外,断点续传或重启有效的。
rsync - a fast, versatile, remote (and local) file-copying tool.

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 [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

对应于以上六种命令格式,rsync有六种不同的工作模式:
1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src
3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@172.16.10.1:/www /databack
5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@172.16.10.1:/www
6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://172.16.10.1/www

通过ssh实现rsync举例:

rsync -av '-e ssh -p 322' root@172.16.10.1:/www/test /www

receiving incremental file list
test/
test/denglu.html
test/download.html
test/index.html
test/index1.html
test/index2.html
test/register.html

sent 129 bytes received 108112 bytes 43296.40 bytes/sec
total size is 107709 speedup is 1.00

[root@server9 www]# more rsync.sh
#!/bin/bash

rsync -av '-e ssh -p 322' /www/test root@172.16.10.1:/www
[root@server9 www]# ./rsync.sh
sending incremental file list
test/
test/denglu.html
test/download.html
test/index.html
test/index1.html
test/index2.html
test/register.html

sent 108106 bytes received 130 bytes 43294.40 bytes/sec
total size is 107709 speedup is 1.00

在 Windows 上也可以使用Rsync,可以通过 cygwin 或 独立打包的 cwrsync 来在 Windows 上运行 rsync。这对于自动备份来说非常方便。

 

同步本地文件夹:

/usr/bin/rsync -avu /data/upload /data1/

-a  --archive

-v, --verbose               increase verbosity

-r, --recursive             recurse into directories

-u, --update                skip files that are newer on the receiver

 

分类:Linux操作系统 | 标签: |

相关日志

评论被关闭!