linux同步命令rsync
2013-03-19rsync是一个功能非常强大的工具,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、操作系统 | 标签: linux、rsync、ssh |