Subir archivos a s3 usando s3cmd en paralelo
Tengo un montón de archivos en un servidor y quiero subirlos a S3. Los archivos se almacenan con una extensión .data, pero en realidad son solo un montón de archivos JPEG, PNG, ZIP o PDF.
Ya he escrito un script corto que encuentra el tipo mime y los carga en S3 y funciona, pero es lento. ¿Hay alguna manera de hacer que el siguiente ejecute usando gnu paralelo?
#!/bin/bash
for n in $(find -name "*.data")
do
data=".data"
extension=`file $n | cut -d ' ' -f2 | awk '{print tolower($0)}'`
mimetype=`file --mime-type $n | cut -d ' ' -f2`
fullpath=`readlink -f $n`
changed="${fullpath/.data/.$extension}"
filePathWithExtensionChanged=${changed#*internal_data}
s3upload="s3cmd put -m $mimetype --acl-public $fullpath s3://tff-xenforo-data"$filePathWithExtensionChanged
response=`$s3upload`
echo $response
done
También estoy seguro de que este código podría mejorarse mucho en general :) Se agradecerían enormemente los comentarios.