Bash-скрипт для ftp-передачи только файлов типа gz в текущем каталоге

Bash-скрипт для ftp-передачи только файлов типа gz в текущем каталоге

У меня есть скрипт 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.

http://man.cx/ftp

решение2

А как насчет выполнения поиска по каталогу и передачи его в mput?

ls *.gz | mput

Я не могу проверить это прямо сейчас, так как у меня нет Linux-компьютера, поэтому, возможно, потребуется дополнительная настройка, чтобы это работало на 100% правильно.

Связанный контент