PHP Мониторинг FTP серверов.

Сергей18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
01.08.2011

Язык программирования PHP.

База данных MYSQL.

Написать программу, которая бы занималась мониторингом содержимого FTP

серверов. Программа состоит из двух частей.

Админка, тупо задает аттрибуты и имеет возможность насильно сделать проверку.

В админке редактируются для каждого FTP такие параметры как.

FTP, логин и пароли, пути (папки) начиная с которой нужно мониторить после

того как скрипт залогинился. По умолчанию строится дерево всех файлов "/".

Папки которые нужно пропускать для мониторинга (например папки кешей,

временных файлов и прочего что мониторить не важно). email на который

нужно высылать отчет с случае каких-то изменений. Имена уже не папок, а

файлов, которые мониторить не нужно. Возможность расчета CRC (по умолчанию выключено).

Вторая часть, запускается, индексирует содержания FTP серверов по очереди,

сравнивает с приведущим состоянием, обновляет своё состояние и отправляет

на электронку уведомления вида примерно такого.

26 марта в 0:03 начата проверка сервера

ftp://ftp.server.ru

В результате обнаружены следующие изменения

Создана папка /data/, в папке 2 файла

Создан файл /data/index.html, размером 23,354 (23 кб, 0,02 Мб, 0,00 Гб), CRC 2934823249234

Создан файл /data/i.gif, размером 43 байта

Создан файл /db_damp.sql, размером 146,34 Мб, CRC такая-то (если опция включена)

Изменен файл

/db.inc

размер был 34, 565 байт стал 23, 132 байта (время создания нового файла)

Изменено содержимое файла без измененя размера

/temp/db.inc

размер был 34, 565 байт

стал 34, 565 байт

изменилось CRC файла было Трям-брям, стало Брям-трям.

Удалена папка /test/temp/, содержащая 4 файла

/test/temp/index.html

/test/temp/i/logo.gif, размер такойто

/test/temp/i/bg.jpg, размер такойто

/test/temp/i/promo.gif, размер такойто

Удалён файл

/flashka.rar, с датой создания такой-то, ЦРЦ такойто

Изменения состояния папки /secret/

было доступ запрещен, сейчас в папке 138 файлов

(список файлов)

Изменения состояния папки /secret2/

было 23 файла

(список файлов)

сейчас папке недоступна для чтения

Изменена дата модификации файла

/pupsik.txt размер 1500 байта

15 сентября 2007 17:31 стало 2 марта 2009 12:12

Или например по другому FTP серверу отчет может выглядеть так.

26 марта в 0:06 начата проверка сервера

ftp://server2.ru

У FTP сервера не получилось прочитат списка файлов и папок.

(неверный пороль или не возвращен ответ)

Или например такой отчет,

Запускается это всё хозяйство через крон раз в сутки (неделю)

например или через админку вручную (с выдачей лога на экран и

дублем его на почту).

Оптимизация про CRC.

Скрипт подсчета CRC можно кидать куда-нибудь в безопасную для работы сайта папку (/crc64-monitor-control/) (FTP пароль есть, все сайты - свои, никаких проблем не будет, везде есть PHP, каждый запуск можно закачать свежую версию паука, который во первых не будет жрать трафик, а все спокойно оббежит, во вторых будет работать быстрее), запускать локально и получаемые результаты передаст верхнему скрипту для записи в БД для сравнения с предыдущим состоянием, чтобы не считывать всё подряд, а обмениваться уже только результатами оббегания FTP. Тогда главный сайт будет только раздавать задания и собирать результаты, а всю работу будет делать сами сервера.

Заявки фрилансеров