RSYNC命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。RSYNC使用RSYNC算法来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。RSYNC是一个功能非常强大的工具,其命令也有很多功能特色选项。
语法:
对应于以上7种命令格式,RSYNC有7种不同的工作模式:
①复制本地文件。当SRC和DES路径信息都不含有单个冒号“:”分隔符时,就启动这种工作模式。如rsync-a/data/backup。
②使用一个远程shell程序(如RSH、SSH)来实现将本地机器的内容复制到远程机器。当DST路径地址包含单个冒号“:”分隔符时,启动该模式。如rsync-avz*.c foo:dst。
③使用一个远程shell程序(如RSH、SSH)来实现将远程机器的内容复制到本地机器。当SRC地址路径包含单个冒号“:”分隔符时,启动该模式。如rsync-avz foo:src/bar/data。
④从远程RSYNC服务器中复制文件到本地机器。当SRC路径信息包含“::”分隔符时,启动该模式。如rsync-av root@192.168.78.192::www/databack。
⑤从本地机器复制文件到远程RSYNC服务器中。当DST路径信息包含“::”分隔符时,启动该模式。如rsync-av/databack root@192.168.78.192::www。
⑥列出远程机器的文件列表。这类似于RSYNC传输,不过只要在命令中省略掉本地机信息即可。如rsync-v rsync://192.168.78.192/www。
⑦使用rsync://协议从本地机器复制文件到远程RSYNC服务器中。如rsync-v src rsync://192.168.78.192/www。
RSYNC命令的选项如下:
-v,--verbose:详细输出模式。
-q,--quiet:精简输出模式。
-c,--checksum:打开校验开关,强制对文件传输进行校验。
-a,--archive:归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-r,--recursive:对子目录以递归模式处理。
-R,--relative:使用相对路径信息。
-b,--backup:创建备份,当备份的目标目录已存在相同的文件时,将旧的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir:将备份文件(如~filename)放在该选项指定的目录下。
-suffix=SUFFIX:定义备份文件前缀。
-u,--update:仅进行更新,也就是跳过所有已经存在于DST,并且文件创建时间晚于要备份的文件,不覆盖更新的文件。
-l,--links:保留软链接。
-L,--copy-links:像对待常规文件一样处理软链接。
--copy-unsafe-links:仅复制指向SRC路径目录树以外的链接。
--safe-links:忽略指向SRC路径目录树以外的链接。
-H,--hard-links:保留硬链接。
-p,--perms:保持文件权限。
-o,--owner:保持文件属主信息。
-g,--group:保持文件属组信息。
-D,--devices:保持设备文件信息。
-t,--times:保持文件时间信息。
-S,--sparse:对稀疏文件进行特殊处理,以节省DST的空间。
-n,--dry-run:显示哪些文件将被传输。
-w,--whole-file:复制文件,不进行增量检测。
-x,--one-file-system:不要跨越文件系统边界。
-B,--block-size=SIZE:检验算法使用的块尺寸,默认是700字节。(www.daowen.com)
-e,--rsh=command:指定使用RSH、SSH方式进行数据同步。
--rsync-path=PATH:指定远程服务器上的rsync命令所在路径信息。
-C,--cvs-exclude:使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件。
--existing:仅更新已经存在于DST的文件,而不备份新创建的文件。
--delete:删除DST中SRC没有的文件。
--delete-excluded:同样删除接收端那些被该选项指定排除的文件。
--delete-after:传输结束后再删除。
--ignore-errors:即使出现I/O错误,也要进行删除。
--max-delete=NUM:最多删除NUM个文件。
--partial:保留因故没有完全传输的文件,以加快随后的再次传输。
--force:强制删除目录,即使不为空。
--numeric-ids:不将用户的UID和组的GID与用户名和组名匹配。
--timeout=time IP:超时时间,单位为秒。
-I,--ignore-times:不跳过有同样时间和长度的文件。
--size-only:当决定是否要备份文件时,仅查看文件大小而不考虑文件时间。
--modify-window=NUM:决定文件是否时间相同时使用的时间戳窗口,默认为0。
-T--temp-dir=DIR:在DIR中创建临时文件。
--compare-dest=DIR:通过比较DIR中的文件来决定是否需要备份。
-P:等同于--partial--progress。
--progress:显示备份过程。
-z,--compress:对备份的文件在传输时进行压缩处理。
--exclude=PATTERN:指定排除不需要传输的文件模式。
--include=PATTERN:指定不排除不需要传输的文件模式。
--exclude-from=FILE:排除FILE中指定模式的文件。
--include-from=FILE:不排除FILE中指定模式的文件。
--version:打印版本信息。
--address:绑定到特定的地址。
--config=FILE:指定其他的配置文件,不使用默认的rsyncd.conf文件。
--port=PORT:指定其他的RSYNC服务端口。
--blocking-io:对远程shell使用阻塞I/O。
-stats:给出某些文件的传输状态。
--progress:在传输时实现传输过程。
--log-format=formAT:指定日志文件格式。
--password-file=FILE:从FILE中得到密码。
-h,--help:显示帮助信息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。