Скрипт мониторинга изменений файлов
Категория: / 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 на крон
Спасибо.
Зачем люди пишут то, в чем разобраться другому, будет заранее трудно? Такая непонятная вещь, лишь отнимает время на настройки
это нужно запустить в Кроне /usr/bin/php -f /home/user/fsmon.php > admin@email.ru (моя почта)
это в файле конфигурации config.php
<?php
return array(
'root' => '/home/user/public_html/'
, 'files' => '(\.php.?|\.htm.?|\.htaccess)$'
);
а если у меня нет файла конфигурации config.php то его нужно создать?
и где он должен находится?
так же где должен быть сам скрипт fsmon.php
и где должен находится файл .cache
я так понял что его нужно создать с правами на запись (777)
Скажите, а можно как то исключить файлы и папки, не требующие мониторинга?