Страница 1 из 1

Чтение файлов в хрон. порядке + параллельное выполнение

Добавлено: 2013-12-18 13:42:34
Volodymyr
Есть скрипт. Он запускает из папки другие скрипты (инструкции на копирование картинок с одного сервера на другой).
Читает от эти инструкции так-как они на диск попадают, то-есть не в порядке создания файлов.
А надо что б в хронологическом, типа ls -t.
Скрипт запускается из крона каждую минуту. Что б не было дублей делаю банальный флаг.
Но получается что при широком канале копирование мелких данных (картинки) все-рано идет медленно. И есть резон пускать это в несколько потоков.
Как запустить процесс параллельно описано тут.
Думаю флагом вешать имя инструкции что б ее повторно не отработал другой экземпляр скрипта.

Код: Выделить всё

#!/bin/sh

flagfile="/root/processing_flag"
if [ -f ${flagfile} ];
    then exit
fi

echo ${flagfile} > ${flagfile}

do_dir() {
    cd $1
    for i in $1/*;
        do
        if [ -f $i ]
            then $i && rm $i
        fi
    done
}

do_dir "/store/shells"
rm ${flagfile}

Re: Чтение файлов в хрон. порядке + параллельное выполнение

Добавлено: 2013-12-19 23:07:10
kpp
Так а вопрос в чем?
На вскидку не совсем ясна картина происходящего.
Может сначала тарить файлы, если их много и они маленькие?

Re: Чтение файлов в хрон. порядке + параллельное выполнение

Добавлено: 2013-12-20 1:07:39
Volodymyr
Фалы в папках по 20-30 шт. 5-20Мб. Паковать пачку не знаю есть ли смысл, может и есть Но это тогда не вопрос. Паковать 2 и более точно нету, так как после прихода на другой сервак почка идет на конвертацию.