Ejecute "find -exec" en mecanizado remoto usando ksh

No estoy seguro de si esto pertenece al superusuario. Por favor disculpe. Esto es lo que intento hacer. Necesito crear un script ksh que establezca una conexión ssh a una máquina remota y encuentre todos los archivos ".tar" en una ruta particular para una fecha particular y los enumere. A continuación, tendré que ejecutar un comando scp para copiar todos esos archivos .tar al servidor en el que estoy ejecutando el script ksh. Esto es lo que tengo hasta ahora y está lejos de estar completo ... (por favor tengan paciencia conmigo ... Soy muy nuevo en las secuencias de comandos de ksh).

¿Puede alguien avisarme si voy en la dirección correcta y dar algunos consejos sobre cómo puedo mejorar y lograr lo que estoy tratando de hacer?

Muchas gracias de antemano.

SSERVER=server1
SOURCEPATH=/tmp/test

sudo ssh $SSERVER \
find $SOURCEPATH -name "*.tar" -mtime +7 -exec ls {} \;
#will the above two statements work?
#I then need to output the ls results to a temp variable (i believe) and issue an scp on each of the files

#Copy files from SOURCEPATH to PATH
sudo scp "$SSERVER:$SOURCEPATH/$file1" /tftpboot
sudo scp "$SSERVER:$SOURCEPATH/$file2" /tftpboot

preguntado el 08 de noviembre de 11 a las 18:11

1 Respuestas

SSERVER=server1
SOURCEPATH=/tmp/test

sudo ssh "$SSERVER" "find $SOURCEPATH -name '*.tar' -mtime +7" |
  while IFS= read -r; do
    sudo scp "$SSERVER:'$REPLY'" /tftpboot
  done

respondido 08 nov., 11:23

muchas gracias ... tu respuesta me guió por el camino correcto para que funcione como lo necesitaba. - molécula

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.