Отправка уведомлений на почту об изменениях на сайте

ЗАДАЧА:

мне нужно создать скрипт php, который будет проверять факт создания новых файлов на сервере и слать мне email через smtp, если был создан хотя бы один файл. Скрипт будет выполняться каждый час через крон, поэтому все изменения нужно находить за последний час.

// Функция для рекурсивного обхода файлов и папок
function scanDirectory($directory, $oneHourAgoTimestamp, $excludedPaths) {
    $newFiles = [];

    $filesAndDirs = scandir($directory);

    foreach ($filesAndDirs as $fileOrDir) {
        $path = $directory . '/' . $fileOrDir;

        // Игнорируем текущий и родительский каталоги
        if ($fileOrDir === '.' || $fileOrDir === '..') {
            continue;
        }

        // Исключаем определенные файлы и папки
        $isExcluded = false;
        foreach ($excludedPaths as $excludedPath) {
            if (strpos($path, $excludedPath) !== false) {
                $isExcluded = true;
                break;
            }
        }

        if ($isExcluded) {
            continue;
        }

        if (is_dir($path)) {
            // Рекурсивно обходим вложенные папки
            $newFiles = array_merge($newFiles, scanDirectory($path, $oneHourAgoTimestamp, $excludedPaths));
        } elseif (is_file($path) && filectime($path) >= $oneHourAgoTimestamp) {
            // Определение абсолютного пути к файлу
            $absolutePath = realpath($path);
            $newFiles[] = $absolutePath;
        }
    }

    return $newFiles;
}

// Пути, которые нужно исключить из поиска
$excludedPaths = [
    '/home/eazyway/test.eazy-way.com/storage/cache/',
    '/home/eazyway/test.eazy-way.com/public/admin/cron/file_change_notifi.php',
    '/home/eazyway/test.eazy-way.com/public/catalog/controller/feed/1c_import.log',
    // Добавьте другие пути, которые нужно исключить
];

// Получаем список новых файлов
$newFiles = scanDirectory($directoryToMonitor, $oneHourAgoTimestamp, $excludedPaths);

// Если есть новые файлы, отправляем уведомление
if (!empty($newFiles)) {
    // ... ваш код отправки уведомления ...
} else {
    echo 'Новых файлов за последний час не обнаружено';
}