Скрипт мониторинга изменений файлов
Категория: / DEV Блог
/ PHP (LAMP)
Скрипт мониторинга файловой системы с информированием пользователя о прошедших изменениях.
Использовать скрипт полезно запуская задание по крону (например ночью, в 3 часа)
в случае выявления изменений, отправит сформированный отчет администратору.
Настройки (файл конфигурации config.php)
Скачать скрипт (github):
https://github.com/rustyJ4ck/FSMon
Проверить можно командой:
После первого запуска скрипт создаст базу с контрольными суммами файлов в файле .cache (заранее поставьте права на запись!).
На почту поступит отчет вида
Скрипт поможет решить следующие вопрос:
Как отследить изменения файлов на сервере. мониторинг изменения страниц сайта.
Защита от взлома сайта.
Краткая инструкция по установке:
1/ Создаем папку, скачиваем файлы скрипта
mkdir -m 777 fsmon
cd fsmon
git clone https://github.com/rustyJ4ck/FSMon.git ./
2/ В файле config.php добавляем в раздел 'root' список папок для мониторинга, в 'mail' указываем адрес, на который будут падать отчеты
3/ Инициализируем базу fsmon, запустив скрипт первый раз php fsmon.php
4/ Вешаем вызов php fsmon.php на крон
Использовать скрипт полезно запуская задание по крону (например ночью, в 3 часа)
0 3 * * * /usr/bin/php -f /home/user/fsmon.php > /dev/null 2>&1
в случае выявления изменений, отправит сформированный отчет администратору.
Настройки (файл конфигурации config.php)
// Проверяем эти папки
'root' => [
__DIR__ . '/first',
__DIR__ . '/another',
'/some/path/on/server'
],
// Игнорим эти
'ignore_dirs' => [
'/private/stuff/here'
],
// ServerTag для отчетов, дефолтно берется из _SERVER[SERVER_NAME], если установлен
'server' => 'MY_TAG',
// Чекаем эти файлы
'files' => '(\.php.?|\.htaccess|\.html)$',
// Логи пишем ./logs/Ym/d-m-y.log
'log' => true,
// Уведомляем по почте
'mail' => [
'from' => 'info@skillz.ru',
'to' => 'rustyj4ck@gmail.com',
'enable' => true
]
Скачать скрипт (github):
https://github.com/rustyJ4ck/FSMon
Проверить можно командой:
php fsmon.php
После первого запуска скрипт создаст базу с контрольными суммами файлов в файле .cache (заранее поставьте права на запись!).
На почту поступит отчет вида
[ modified] Q:\misc\fs_monitor\fsmon.php 5.1 kb 28.09.2009 23:37
[ new] Q:\misc\fs_monitor\1\sc.phps 1 kb 28.09.2009 23:09
[ deleted] Q:\misc\fs_monitor\1\op.phps 2 kb 01.01.1970 03:00
Скрипт поможет решить следующие вопрос:
Как отследить изменения файлов на сервере. мониторинг изменения страниц сайта.
Защита от взлома сайта.
Краткая инструкция по установке:
1/ Создаем папку, скачиваем файлы скрипта
mkdir -m 777 fsmon
cd fsmon
git clone https://github.com/rustyJ4ck/FSMon.git ./
2/ В файле config.php добавляем в раздел 'root' список папок для мониторинга, в 'mail' указываем адрес, на который будут падать отчеты
3/ Инициализируем базу fsmon, запустив скрипт первый раз php fsmon.php
4/ Вешаем вызов php fsmon.php на крон
Единственный вопрос: как работает ignore_dirs? Нужно указывать полный путь до папки где будут игнориться файлы или можно указать маску в пути?
Например:
/var/www/karl/data/www/site.ru/wp-inclide/cache - полный путь
/wp-include/cache - как бы я хотел (чтобы на всех сайтах отсекать эту папку).
Это так работает или нет?