On 2005.10.31 at 17:16:22 +0200, Dmitrii Varvashenia wrote: > Доброго времени суток, russian > > Сейчас у меня возникла интересная задача: > Нужно с нескольких серверов собирать список файлов на ftp и передавать их > на один из них. Сейчас задачу решил по своему (см. конец письма) и понял, > что всё ужастно тормозит.
Это -естественно. У тебя же там поднимается новый процесс ls на каждый файл. Можно попробовать find с ключиком -ls. Только поле для сортировки нужно будет правильно указывать. > Собираюсь всё это впихивать в mysql, дабы облегчить жизнь серверу, который > занимается работой с получившимися файлами и разными выборками. > > Собственно вопрос: может кто подскажет тул, который одинаково отрабатывает > на woody и sarge в области вывода списка файлов с намёком сформировать > список для втыкания всего этого в mysql? (у ls не совпадает количество > столбцов и формат даты разный - хотя у меня есть смутное подозрение, что > ядро здесь имеет первостепенное значение) Напрасное подозрение. Уж скорее имеет значение текущая локаль. И если считать дату за один столбец, то количество столбцов вполне совпадает. У ls из coreutils 5.2.1 (sarge) есть ключик --time-style, который позволяет привести вывод к тому же виду, что и у ls из fileutls 4.1 (--time-style locale). К сожалению,ls из fileutils 4.1 такого не понимает. А вообще я бы рекомендовал отказаться для решения этой задачи от shell и использовать более другой скриптовый язык, который не требует порождения отдельного процесса для того, чтобы узнать содержимое inode, т.е. имеющий встроенную команду для доступа к системному вызов stat. Например, perl (у которого есть stat и модуль File::Find) или tcl (у которого есть file state и glob или for_recursive_glob в Tclx) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

