DimaM Posted May 31, 2018 Posted May 31, 2018 (edited) На КРОССе у меня спрашивали 2 человека про скрипт мониторинга отчетов Ревизора, чтобы отчеты сразу на e-mail приходили. Вынужден предупредить, что толку от такого сервиса последнее время мало : списки обновляются много раз за день, иногда одни и те же записи добавляются, потом удаляются, потом опять добавляются. Что зафиксирует при этом Ревизор предсказать невозможно, так как на момент проверки он обычно использует уже устаревший список. Просьба не заваливать ТП этими бесполезными отчетами. Идея простая: чтобы не проходить капчу при авторизации, то запоминаем и поддерживаем вживых уже созданную сессию, через которую создаем запросы и загружаем отчеты. Начальную версию скрипта удалось написать примерно за 15 минут. Пробуйте. Если сессия будет отваливаться, придется что-то делать с капчей. Инструкция по установке: 1. Скачайте и разархивируйте скрипт (загружается по ссылке) в отдельный каталог, например /home/revmon/ cd /home/revmon wget http://vasexperts.ru/upload/revmon.tgz tar xvzf revmon.tgz 2. Установите почтовый клиент mutt. Это команда для CentOS, метод установки в других ОС будет отличаться yum install mutt 3. Укажите e-mail для отправки отчетов в файле CONF/emails.txt укажите один или несколько e-mail через пробел vasya@example.org 4. Укажите сессионный куки для загрузки отчетов скриптом без прохождения реавторизации в файле CONF/cookie.txt укажите куки в формате PHPSESSID=u53r9cn7d9f4hl9ro2odul51k3 Вот один из способов, как получить значение сессионного куки с помощью браузера Chrome: Зайдите на портал ревизора https://portal.rfc-revizor.ru/ c помощью браузера Chrome Пройдите авторизацию с вводом капчи Выберите в меню Хрома (три точки) пункт "Дополнительный инструменты" -> "Инструменты разработчика" Перейдите на страницу "Мои отчеты" Выберите в горизонтальном меню Хром пункт "Network", первый элемент в списке страниц "myclaims-reports" и далее пункт "Cookies" в дополнительно горизонтальном меню Скопируйте значение этого куки и занесите его в CONF/cookie.txt в указанном формате Также куки можно скопировать из раздела меню "Headers" 5. Настройте cron для запуска скрипта с частотой раз в 5 минут. Его задача поодерживать активность сессии, чтобы она не истекла и выгружать отчеты, когда они будут созданы */5 * * * * /home/revmon/revmon.sh > /dev/null 2>&1 6. Настройте cron для заказа у Ревизора отчетов в заданное вами время 50 07,23 * * * /home/revmon/revmon.sh order > /dev/null 2>&1 7. Настройте очистку отчетов старше месяца, чтобы избежать переполнения диска 15 4 * * * /bin/find /home/revmon/ARCHIVE/ -name \*zip -cmin +44640 -delete > /dev/null 2>&1 В каталоге ARCHIVE аккумулируются загруженные отчеты В файле exec.log ведется лог работы приложения Виды сообщений: PING OK 31.05.2018 18:50 - запрос для поддержания сессии REQUEST REPORT 31.05.2018 15:32 - заказ отчета SEND REPORT 793546 31.05.2018 18:45 - отчет отправлен SESSION EXPIRED - сессия истекла, нужно обновить сессионный куки, как указано в п.4 Edited June 1, 2018 by DimaM очепятка Вставить ник Quote
YuryD Posted June 4, 2018 Posted June 4, 2018 Ну, древний анекдот вспоминается, про накаканное на голову от птицы. " А зачем вам туалетная бумага - жопа то уже улетела" Вставить ник Quote
DimaM Posted July 12, 2018 Author Posted July 12, 2018 В 07.07.2018 в 13:02, myth сказал: сессия за сутки протухает? с момента публикации у меня один раз почему-то протухла, а так процесс в cron ей протухнуть не дает Вставить ник Quote
ehanson Posted September 3, 2018 Posted September 3, 2018 Дмитрий, большое спасибо за скрипт. Вставить ник Quote
wed Posted November 27, 2018 Posted November 27, 2018 Всем привет. Что-то скрипт в последнее время все время присылает пустое письмо. Что можно посмотреть /исправить? Вставить ник Quote
DimaM Posted November 28, 2018 Author Posted November 28, 2018 закажите отчет вручную через веб интерфейс, если отчет не сформируется, напишите жалобу в РКН, что все сделали как надо, а оно не работает может тогда исправят Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.