1 votes

Rsync ne fonctionne pas et rapporte que la taille totale est de 0 speedup est de 0.00 lorsque la commande est exécutée.

J'ai vu cette erreur et je ne sais pas pourquoi la taille de tous les fichiers est de 0.

screenshot

Commandement :

rsync -arvzh --delete public/ root@1991421.cn:/var/www/blog/static-html/

Informations sur la version :

  • L'OS source de GitHub action VM est macOS 10.15
  • Le système d'exploitation cible est CentOS 7 x64

Sur mon Mac, c'est bon, et quand j'utilise la fonction scp le problème se reproduit. Donc je pense que ce n'est pas un problème de commande. Peut-être que c'est ssh ?

Voici ma configuration complète :

# 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/cache@v2.1.3
        with:
          path: '**/node_modules'
          key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
      - name: Install Dependencies
        run: |
          yarn install
          npm install hexo-cli@2.0.0 -g
      - name: Build
        run: |
          hexo clean
          hexo g --silent
          export HEXO_ALGOLIA_INDEXING_KEY=fb41a459b46e7dda7af65d45ad5f8432
          hexo algolia
      - name: SSH agent
        uses: webfactory/ssh-agent@v0.4.1
        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 root@1991421.cn:/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

1voto

Giacomo1968 Points 48326

Installez une version mise à jour de Rsync dans macOS avec Homebrew.

Je pense qu'il s'agit d'un problème lié à la version par défaut de Rsync sur macOS qui n'est plus à jour en raison de problèmes de licence GNU.

La version macOS par défaut de rsync existe dans cette voie /usr/bin/rsync et a cette version lorsque cette commande est exécutée /usr/bin/rsync --version

rsync  version 2.6.9  protocol version 29

Je pense que puisque vos chemins incluent des caractères non occidentaux / chinois, cette ancienne version 2.6.9 de Rsync s'étouffe sur ces caractères.

Vous pouvez utiliser une version plus à jour de Rsync sur macOS si vous l'installez via Homebrew . Il suffit de l'installer en ouvrant une session de terminal et en entrant cette commande :

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

Ensuite, exécutez cette commande :

brew install rsync

Une fois que cette commande a fait ce qu'elle devait faire, une version mise à jour de Homebrew devrait être installée ici et vous pouvez vérifier la version installée en exécutant /usr/local/bin/rsync --version qui devrait être quelque chose comme ceci :

rsync  version 3.2.3  protocol version 31

J'ai utilisé les chemins complets pour la vérification de la version, mais après que la commande d'installation de Homebrew soit exécutée, vous pouvez simplement exécuter rsync --version pour vérifier la version et which rsync pour vérifier quelle version de Rsync est préférée par le système.

0voto

Alan Cheng Points 101

En regardant la capture d'écran, je pense que le problème est probablement dû à des caractères Unicode non reconnus dans ce dossier.

Vous pouvez essayer sur un dossier qui n'a pas de tels caractères et voir si rsync fonctionne.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X