Script Bash para ftp solo archivos de tipo gz en el directorio actual

Script Bash para ftp solo archivos de tipo gz en el directorio actual

Tengo un script bash que va al directorio correcto y luego usa el comando mput para enviar por ftp todos los archivos del directorio a un servidor remoto, como se muestra a continuación:

for from_dir in $DATE_LIST 
do
    cd ${FILE_LANDING_DIR}/deltas/${from_dir}
    ftp_files
done

ftp_files () {
    ftp -inv $HOST <<-EOF > $LOG_DIR/tempftplog
    user $USER $PASS 
    cd ${ID_LANDING_DIR}
    mput *
    bye 
    EOF
} 

Intenté alterar la función ftp_files para enviar por ftp solo los .gzarchivos en ese directorio cambiando la línea de mput *a mput *.gzpero no funcionó.

¿Alguien puede decirme cómo puedo hacer esto una vez en el comando ftp?

Respuesta1

¿ mput *.gzNo funciona? De lo contrario, pruebe globprimero con el comando ftp.

http://man.cx/ftp

Respuesta2

¿Qué tal realizar una búsqueda en el directorio y enviarla al mput?

ls *.gz | mput

No puedo probar esto ahora porque no estoy en una máquina Linux, por lo que es posible que deba modificarlo para que funcione 100% correctamente.

información relacionada