以下のように、正しいディレクトリに cd し、mput コマンドを使用してディレクトリ内のすべてのファイルをリモート サーバーに ftp する bash スクリプトがあります。
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
}
.gz
行を から に変更して、ftp_files 関数を変更してそのディレクトリ内のファイルmput *
のみを ftp するように試みましたがmput *.gz
、うまくいきませんでした。
ftp コマンドでこれを一度だけ実行する方法を教えていただけますか?
答え1
動作しませんかmput *.gz
? そうでない場合は、まず ftpglob
コマンドを試してください。
答え2
ディレクトリ検索を実行してそれを mput にパイプするのはどうでしょうか?
ls *.gz | mput
私は Linux ボックスを使用していないため、これを今すぐテストすることはできません。したがって、100% 正しく動作させるには調整が必要になる可能性があります。