运行命令时,Rsync 不起作用并报告总大小为 0,加速比为 0.00

运行命令时,Rsync 不起作用并报告总大小为 0,加速比为 0.00

我看到这个错误,不知道为什么所有文件大小都是 0。

截屏

命令:

rsync -arvzh --delete public/ [email protected]:/var/www/blog/static-html/

版本信息:

  • GitHub action VM源操作系统是macOS 10.15
  • 目标操作系统是 CentOS 7 x64

在我的 Mac 上,一切正常,但当我使用 时scp,问题又出现了。所以我认为这不是命令问题。也许是ssh

这是我的完整配置:

# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Node.js CI

on:
  push:
    branches: [ source ]
  workflow_dispatch:
    inputs:
      logLevel:
        description: 'Log level'
        required: true
        default: 'warning'
      tags:
        description: 'Test scenario tags'
jobs:
  build:

    runs-on: ubuntu-20.04

    strategy:
      matrix:
        node-version: [12.20.0]

    steps:
      - name: Git checkout
        uses: actions/checkout@v2
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - name: Cache
        uses: actions/[email protected]
        with:
          path: '**/node_modules'
          key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
      - name: Install Dependencies
        run: |
          yarn install
          npm install [email protected] -g
      - name: Build
        run: |
          hexo clean
          hexo g --silent
          export HEXO_ALGOLIA_INDEXING_KEY=fb41a459b46e7dda7af65d45ad5f8432
          hexo algolia
      - name: SSH agent
        uses: webfactory/[email protected]
        with:
          ssh-private-key: ${{ secrets.BLOG_DEPLOY_KEY }}
      - name: Deploy VPS
        run: |
          ssh-keyscan 1991421.cn >> ~/.ssh/known_hosts
          rsync -az -vv --delete -e 'ssh -p 22' public [email protected]:/var/www/blog
      - name: Notify
        uses: appleboy/telegram-action@master
        with:
            to: ${{ secrets.TELEGRAM_TO }}
            token: ${{ secrets.TELEGRAM_TOKEN }}
            message: Blog deployment and update completed!
            photo: .github/workflows/blog-logo.png

答案1

使用 Homebrew 在 macOS 中安装 Rsync 的更新版本。

我认为这是由于 GNU 许可问题导致 macOS 上的默认 Rsync 版本过时的问题。

的默认 macOS 版本rsync存在于此路径中/usr/bin/rsync,并且当运行此命令时具有此版本/usr/bin/rsync --version

rsync  version 2.6.9  protocol version 29

我相信由于您的路径包含非西方/中文字符,这个旧版本的 2.6.9 版 Rsync 会无法处理这些字符。

你可以在 macOS 上使用更新版本的 Rsync,方法是通过以下方式安装自制。只需打开终端会话并输入以下命令即可安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然后运行此命令:

brew install rsync

一旦该命令完成了它要做的事情,就会在这里安装一个更新版本的 Homebrew,你可以通过运行来检查安装的版本,/usr/local/bin/rsync --version运行结果如下:

rsync  version 3.2.3  protocol version 31

我使用完整路径进行版本检查,但是在运行 Homebrew 安装命令之后,您只需运行rsync --version检查版本并which rsync检查系统首选哪个版本的 Rsync。

答案2

看着屏幕截图,我认为这很可能是由于该文件夹中无法识别的 Unicode 字符造成的。

您可以尝试在没有此类字符的文件夹,看看 rsync 是否有效。

相关内容