Скрипт многопоточной загрузки файлов на фтп- сервера, для управления была создана веб-морда.
Реализация:
- Реализован на php5, используя pcntl, Semaphore, Shared Memory.
- Работает только в юникс-подобных операционных системах.
Веб-морда:
Была создана для упрощенного управления параметрами скрипта. Дает возможность запускать, останавливать, и продолжать выполнения процесса копирования. Интерфейс состоит из 3-х пунктов:
1. Настройка/Работа - используется для запуска\остановки процесса копирования. Указания пути к файлу с аккаунтами, основного каталога, с которого производится копирования, и количество потоков.
2. Текущая информация - выдает информацию о загрузке процессора, количестве потребляемой памяти. количестве текущих рабочих потоков, количестве обработанных аккаунтов.
3. Журналы - первый журнал отображается в веб морде, сюда заносятся записи о всех успешных завершившихся процессах копирования. второй журнал в виде файла для скачивания с сервера, хранит инфу в виде: аккаунт - подключился или нет - закончил работу. Здесь же присутствует возможность очистки обоих журналов.
Семантика:
Считывает файл с аккаунтами, где получает логин, пароль, сервер, каталог с которого нужно скопировать файлы и имя каталога на сервере, куда необходимо залить файлы(если отсутствует имя каталог на сервере, копирует в корень). После удачного копирования удаляет каталог с которого копировались файлы, строку с файла с аккаунтами, пишется в хтмл-лог; в file-log пишутся все коннекты.