rsync适合于用来文件系统上文件的网络拷贝, 但并不适合于裸设备的网络对拷, 主要原因如下:

1, 区分符号链接.
2, 源端是符号链接时不传内容.
3, 目标端先生成监时文件.
4, 目标端先删除原文件, 然后重命令传好的监时文件.

    当面对裸设备时, 则不需要以上功能, 实际上要变成只传内容, 不管两边的文件类型是否一样, 如下所示:

1, 不要区分符号链接.
2, 只要传内容就行.
3, 目标端不先生成监时文件.
4, 以覆盖方式写, 不去缩小目标端文件.

    今天改了半天的rsync源代码, 初步实现了以上功能, 但有待正式场合的考验. 我的测试用例.

源端: 几个大小不同的文件
目标: 一个链接文件, 指向别的文件

    传了几次, 目标端的link没有被替换掉, 并且用小的文件替换大的文件时, 只有前面部份内容被冲掉, 已达到我的设想了. 下载rawsync(AIX/Linux), 开始试试吧?