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 .gz
Dateien 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 *.gz
nicht? Wenn nicht, versuchen Sie glob
zuerst den FTP-Befehl.
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.