博客
关于我
linux命令之rsync同步速度分析
阅读量:793 次
发布时间:2023-02-03

本文共 1074 字,大约阅读时间需要 3 分钟。

rsync 是一款 Unix 系统下的数据镜像备份工具,用于远程同步。作为一款高效的增量备份工具,它能够帮助用户快速同步文件目录和文件系统。rsync 不仅支持本地复制,还可以与其他 SSH 或 rsync 主机进行同步操作。

rsync 的主要特点包括:

  • 完整镜像备份:可以将整个目录树和文件系统完整地备份到远程服务器或本地存储。
  • 保留文件属性:rsync 会自动保留文件的权限、时间戳和软硬链接等信息。
  • 无需特殊权限:安装和使用 rsync 不需要root权限,操作简便。
  • 高效传输:初始同步时 rsync 会复制所有文件,后续只传输修改过的文件。其支持压缩和解压功能,可以减少带宽消耗。
  • 安全传输:支持通过 SSH、SCP 等安全协议传输文件,或通过 socket 连接进行传输。
  • 匿名传输支持:适合用于网站镜像等场景。
  • 以下是一个满足大部分需求的 rsync 脚本示例:

    rsync --compress --recursive --times --perms --owner --group --links \--exclude=smarty/templates_c/ --timeout=30 \/path/to/source /remote/user@example.com:/path/to/destination

    参数解析:

    • --compress:在传输时对文件进行压缩处理,减少带宽消耗。
    • --recursive:以递归模式处理子目录,确保所有文件都被同步。
    • --times:保留文件的创建和修改时间。
    • --perms:保持文件的权限设置。
    • --owner:保留文件的属主信息。
    • --group:保留文件的属组信息。
    • --links:保留文件的软链接。
    • --exclude=PATTERN:指定需要排除的文件模式,例如 --exclude=smarty/templates_c/ 可以排除该目录及其子目录。
    • --timeout=30:设置超时时间,单位为秒。

    rsync 速度测试

    我的同步目录大小为 88M,执行上述命令后,系统显示仅传输了 637KB 数据。这是因为 rsync 只会传输修改过的文件,而不是全部文件。速度测试结果如下:

    building file list ... donesent 637987 bytesreceived 20 bytestotal size is 88738094speedup is 139.09

    可以看到 rsync 的速度非常高效,尤其是在多次修改后进行同步时,传输量大大减少。

    转载地址:http://vozfk.baihongyu.com/

    你可能感兴趣的文章
    Linux学习--第九天--du、df、fsck、dumpe2fs、mount、NTFS-3G、fdisk、partprobe、/etc/fstab、free、mkswap、swapon
    查看>>
    Linux学习--第二天--分区、格式化、系统安装、vmware、远程管理工具
    查看>>
    Linux学习--第五天--vim使用、rpm命令
    查看>>
    Linux学习--第八天--acl、SetUID、SetGID、chattr、lsattr、sudo
    查看>>
    Linux学习--第六天--软件包
    查看>>
    Linux学习--第十一天--source、环境变量目录、欢迎信息、正则、cut、awk、sed、sort、判断表达式、if、for、case、一些脚本
    查看>>
    Linux学习--第十三天--日志、系统运行级别、grub加密
    查看>>
    Linux学习--第十天--bash脚本、用户自定义变量、环境变量、位置参数变量、预定义变量、标准输入输出、wc、history、dd、PS1
    查看>>
    Linux学习—部署yum网络仓库
    查看>>
    Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置
    查看>>
    Linux学习之CentOS(十八)--与Linux文件和目录管理相关的一些重要命令②
    查看>>
    Linux学习之sed命令详解
    查看>>
    linux学习之vi文件编辑命令
    查看>>
    linux学习命令总结⑩②
    查看>>
    Linux学习总结
    查看>>
    Linux学习总结(10)——Linux查看CPU和内存使用情况
    查看>>
    Linux学习总结(11)——Linux文件查找
    查看>>
    Linux学习总结(12)——Linux必须学会的60个命令
    查看>>
    Linux学习总结(13)——在阿里云的ubuntu上部署个人服务
    查看>>
    Linux学习总结(14)——Linux权限控制
    查看>>