Respondiendo a la pregunta específica sobre *
.
El carácter especial *
en una expresión regular (de cualquier tipo )actúa sobre la expresión anterior. Permite cero o más coincidencias de la expresión anterior. Por lo tanto, la expresión regular .*
coincide con cualquier cadena, ya sea que esté vacía o no.
El carácter global del nombre de archivo *
coincide con cualquier cadena (posiblemente vacía ).
Las expresiones regulares no son patrones de englobamiento de nombres de archivo (o viceversa ). Esta diferencia particular es entre las expresiones regulares y los patrones globales, y no entre los diferentes tipos de expresiones regulares.
Esto funciona para mí:
rsync -avzhP -e "ssh -p portB -A user1@serverB ssh" user2@serverC:somedir/ localdir/
Como referencia, leí esta respuesta para una pregunta similar:
Si el host A puede ssh
entrar en el host B, y el host B puede ssh
entrar en el host C, puede establecer su configuración de cliente ssh
en el host A como proxy a través de B a C. También puede decir rsync
para usar ssh
como su protocolo de transferencia(-e ssh
). Combine estas dos cosas y podrá ssh
o rsync
del host A al C a través de B, incluso en un trabajo cron
.