¿Por qué no se encuentra rsync?

16
rsync -avP /home/user/.profile hpux3:/home/user/.profile
bash: rsync: command not found

Si hice ssh a la máquina hpux3

rsync  
version 3.1.1  protocol version 31
Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
output truncated

Me he puesto PATHen $HOME/.profiley $HOME/.bashrc. ¿Debo configurarlo en el /etc/profilearchivo?

elbarna
fuente
El rsynccomando debe estar presente en su máquina local.
ott--
1
Por supuesto, está presente en ambas máquinas
elbarna

Respuestas:

26

Tu .profilesolo se lee cuando inicias sesión de forma interactiva. Cuando rsync se conecta a otra máquina para ejecutar un comando, /etc/profiley ~/.profileno se leen.

Si su shell de inicio de sesión es bash, entonces ~/.bashrcpuede leerse (esto es un capricho de bash: ~/.bashrcse lee mediante shells interactivos sin inicio de sesión y, en algunas circunstancias, mediante shells no interactivos de inicio de sesión). Sin embargo, esto no se aplica a todas las versiones de bash.

La forma más fácil de hacer que rsync funcione es probablemente pasar la --rsync-pathopción, por ej.

rsync --rsync-path=/home/elbarna/bin/rsync -avP /home/user/.profile hpux3:/home/user/.profile

Si inicia sesión a través de SSH con autenticación basada en claves, puede establecer la PATHvariable de entorno a través de su ~/.ssh/authorized_keys. Consulte los archivos de inicio sh sobre ssh para obtener explicaciones sobre cómo organizar la carga .profileal iniciar sesión en SSH con una clave.

Gilles 'SO- deja de ser malvado'
fuente
77
Nota: --rsync-pathse utiliza para establecer la ruta de acceso rsyncen la computadora remota . (a primera vista me preguntaba cómo era posible especificar el camino al rsynciniciar rsyncen la misma máquina)
AL
@Gilles 'SO- deja de ser malvado' ¿Alguna idea de por qué tengo que hacer esto? Bash no es mi shell predeterminado. Ksh es mi shell predeterminado. Me conecto con ksh y luego cambio a bash.
cokedude
@cokedude Si rsync está instalado en su cuenta en lugar de hacerlo a nivel del sistema, debe realizar alguna configuración en su cuenta para poder usarlo. No es suficiente poner el rsyncbinario en algún lugar: también debe organizarlo para que se encuentre.
Gilles 'SO- deja de ser malvado'