Rsync : résoudre l’erreur “is your shell clean?”

Lors de l’utilisation de la commande rsync, il est possible d’obtenir le message d’erreur suivant :

TERM environment variable not set.
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(173) [sender=3.0.7]Code language: CSS (css)
rsync logo

Il s’agit la plupart du temps du fichier /~.bashrc qui n’est pas propre puisqu’il renvoie des informations au terminal.

Cela peut être dû à une commande qui donne des informations sur la date ou le système ou toute autre commande qui se lance à la connexion.

Rsync ne s’attend pas à cela et bloque.

La solution : pas d’output via .bashrc

La solution est assez simple : il suffit de nettoyer les commandes du .bashrc qui renvoient du texte ou en redirigeant le résultat de ces commandes vers /dev/null.

Le fichier .bashrc n’est pas la bonne place pour générer du texte dans le terminal. Les commandes doivent être déplacées dans le fichier .bash_profile.

Ainsi, vous n’aurez plus à sacrifier l’output quand vous vous connectez ou à éditer .bashrc quand vous voulez utiliser rsync.

Vous voulez un site WordPress ou WooCommerce qui soit à la fois rapide et performant? Vous êtes au bon endroit.

Découvrez comment je peux booster votre site »

Articles conseillés :

2 pensées sur “Rsync : résoudre l’erreur “is your shell clean?””

  1. Bonjour,

    Merci pour l’astuce, je rencontre ce problème et je n’arrive pas à le résoudre.

    J’ai créé un fichier bash et je ne vois pas ce qu’il y a à nettoyer sur /~.bashrc.

    Je continue de chercher

    Reply
    • Bonjour Widee,

      Tu dois avoir une commande ou un bout de code qui génére du texte dans le bash.

      Quel est le contenu de ton fichier <.bashrc?

      Reply

Opinions