暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一款并发版的rsync利器:fpsync,让远程复制不再漫长

运维笔谈 2025-01-24
525
Frank在升级Clickhouse过程中,他发现备份好的数据文件需要远程复制到新的集群下,由于数据量很大,使用rsync比较慢,所以我建议他使用fpsync. Github地址:https://github.com/martymac/fpart
fpsync是一个用于高效同步文件的工具,特别适合处理大量小文件。它通过并行处理和增量同步来提升性能。

一、 安装 fpsync

`fpsync` 是 `fpart` 工具包的一部分,安装步骤如下:

    # Debian/Ubuntu
    sudo apt-get install fpart
    # CentOS/RHEL
    sudo yum install fpart
    # macOS (使用 Homebrew)
    brew install fpart

    或者编译安装,比如:

      wget -N https://github.com/martymac/fpart/archive/fpart-1.1.0.tar.gz -P /tmp
      tar -C /tmp/ -xvf /tmp/fpart-1.1.0.tar.gz
      cd /tmp/fpart-fpart-1.1.0
      sudo yum install -y automake libtool
      autoreconf -i
      ./configure
      make
      sudo make install
      sudo yum install parallel -y
      printf "will cite" | parallel --bibtex
      sudo yum install -y rsync

      二、 基本使用示例

      1、同步两个本机目录

      将源目录 `/source` 同步到目标目录 `/destination`(使用绝对路径):

        #bash
        fpsync /source /destination

        2、-n 并发同步

        使用 `-n` 参数指定并发线程数(如 5 个线程,默认是2):

          #bash
          fpsync -n 5 /source /destination`

          3、 -f 每次作业最多传输多少文件,默认2000个:

            #bash
            fpsync -n 5 -f 5000 /source /destination

            4、-E 会开启rsync delete选项

              fpsync -1 -2 -E /home/zhuhaibo/nas/ /tmp/nas

              5、显示详细输出

              使用 `-v` 参数显示详细输出,多次指定以增加详细级别.

                # bash
                fpsync -v /source /destination

                5、 同步到远程服务器

                通过 SSH 同步到远程服务器:

                  # bash
                  fpsync -5 /source user@192.168.1.1:/destination

                  运维笔谈已经开通AI智能对话功能,解答有关运维日常工作中遇到的问题以及经验分享,感兴趣的大佬来和我聊聊吧

                  文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论