Bash-Skript zum FTP nur von Dateien des Typs gz im aktuellen Verzeichnis

Bash-Skript zum FTP nur von Dateien des Typs gz im aktuellen Verzeichnis

Ich habe ein Bash-Skript, das per CD in das richtige Verzeichnis wechselt und dann den Befehl mput verwendet, um alle Dateien im Verzeichnis per FTP auf einen Remote-Server zu übertragen, wie nachstehend:

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
} 

Ich habe versucht, die Funktion ftp_files so zu ändern, dass nur die .gzDateien in diesem Verzeichnis per FTP übertragen werden, indem ich die Zeile von mput *in geändert habe mput *.gz, aber das hat nicht funktioniert.

Kann mir jemand sagen wie ich das einmal im FTP-Befehl machen kann?

Antwort1

Funktioniert mput *.gznicht? Wenn nicht, versuchen Sie globzuerst den FTP-Befehl.

http://man.cx/ftp

Antwort2

Wie wäre es, eine Verzeichnissuche durchzuführen und diese an den Mput weiterzuleiten?

ls *.gz | mput

Ich kann das jetzt nicht testen, weil ich keine Linux-Box habe. Daher müssen möglicherweise einige Anpassungen vorgenommen werden, damit es 100 %ig funktioniert.

verwandte Informationen