Linux

curlを利用しての複数ファイルFTP送信

curlを利用して複数ファイルを送信時に、ftpのmputみたいなコマンドがなく、*が利用できないので、ディレクトリ内の全ファイルを送信するには不便です。

そこで、下記の様なシェルを作成することでディレクトリ内の全ファイルが送信できるようになります。

for file in `find $DATADIR -maxdepth 0 -type f -name “*” -print` ; do
 /usr/bin/curl -u ユーザID:パスワード -T $file –url ftp://ftpサーバ/
RETVAL=$?
if [ $RETVAL=0 ]; then
mv $file $BACKUPDIR
else
OUTPUT=”FTP Critical!!”
echo $OUTPUT >>$LOGFILE
fi
done

送信終了時にファイルを別のディレクトリに移動する必要があります。
その際、curlの実行結果を見て移動処理を行っていますが、正常に動作するかは不明。