У меня есть скрипт bash, который переходит в нужный каталог, а затем использует команду mput для отправки всех файлов в каталоге по FTP на удаленный сервер, как показано ниже:
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
}
Я попытался изменить функцию ftp_files так, чтобы она передавала по ftp только .gz
файлы в этом каталоге, изменив строку с mput *
на , mput *.gz
но это не сработало.
Может ли кто-нибудь подсказать, как это сделать в команде ftp?
решение1
Не работает mput *.gz
? Если нет, попробуйте сначала команду ftp glob
.
решение2
А как насчет выполнения поиска по каталогу и передачи его в mput?
ls *.gz | mput
Я не могу проверить это прямо сейчас, так как у меня нет Linux-компьютера, поэтому, возможно, потребуется дополнительная настройка, чтобы это работало на 100% правильно.