#!/bin/bash
echo -e "\x1b[32mStarting process\x1b[0m"
dir=/raid/fs/
contracts="$dir"contracts/*/*/*
attachments="$dir"attachments/*/*/*
scandocs="$dir"scandocs/*/*
for i in `ls -1R $contracts $attachments $scandocs`
do
if [ -f "$i" ] && [ ${i/_thumb/} = ${i} ]
then
imageType=`file $i | awk '{ print $2; }'`
imageDir=`dirname $i`
imageWithoutExt=`echo $i | awk -F. '{ print $1; }'`
imageExt=`echo $i | awk -F. '{ print $2; }'`
case $imageType in
# Работа над JPEG, GIF, PNG форматами
JPEG | GIF | PNG)
if [ ! -f "$imageWithoutExt".tif ]
then
echo Start converting "$i" to TIFF image type
convert "$i" "$imageWithoutExt".tif
fi
echo Removing file "$i"
rm -f "$i" ;;
esac
# Действия общие для всех изображений
# Создание thumbnail'a
if [ ! -f "$imageWithoutExt"_thumb.png ]
then
echo Start converting thumbnail for "$i"
convert "$imageWithoutExt".tif -resize 128 -quality 100 "$imageWithoutExt"_thumb.png
fi
# Создание PDF из TIFF'a
if [ ! -f "$imageWithoutExt".pdf ]
then
echo Start converting imgae "$i" to PDF
tiff2pdf "$imageWithoutExt".tif -o "$imageWithoutExt".pdf
fi
fi
done
echo -e "\x1b[32mProccess finished\x1b[0m"
Скрипт пробегает рекурсивно по указанным директориям и если встречает файл–картинку не TIF, то конвертит её в TIF. Затем, создаёт PNG-привью. После ещё из TIF'ов генерит PDF.
Работает медленно, грешу на утилиту convert. Кто ещё что подскажет, как ускорить процесс?