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]
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 avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

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