пакет необходимо доработать для пригодности к более-менее безопасному использованию из коробки. 1. надо создать псевдопользователя (рекомендую _lightsquid:_lightsquid) 2. создать /var/www/html/lightsquid/report/ (или перенести в /var/lib/lightsquid/report и соответственно скорректировать дефолты) 3. при наличии этого каталога передать права на него псевдопользователю В сумме получается примерно так (I DIDN'T REALLY TEST THIS): %define lightuser _lightsquid %define lightgroup _lightsquid %define lightdir /var/www/html/lightsquid # ... %pre /usr/sbin/groupadd -r -f %lightgroup /usr/sbin/useradd -r -g %lightgroup -d /dev/null -s /dev/null -n %lightuser >/dev/null 2>&1 ||: [ -d %lightdir ] && /bin/chown -R %lightuser:%lightgroup %lightdir # ... %files # права -- если заработает, лучше 0750 (возможно, с %apache_group) %attr(0755,%lightuser,%lightgroup) %lightdir Соответственно в /etc/cron.daily/lightsquid должен быть вызов с использованием su (возможно, -s /bin/sh), а сам этот файл должен быть %config(noreplace). Ещё лучше из cron.daily перекинуть его в cron.d, что позволит администратору более гибко управлять частотой запуска (см. как сделано в mrtg). PS: в %description s/analizer/analyzer/ :)
Да, ещё: - в /etc/cron.d/lightsquid можно положить такое: 45 03 * * * root /bin/su - -c /usr/sbin/lightparser.pl -s /bin/sh _lightsquid - пользователя _lightsquid надо добавлять в группу squid - возможно, стоит добавлять пользователя apache в группу _lightsquid, если закручивать гайки на reports/ ...а в остальном -- нормально вроде :-)
До кучи: проверить синхронизацию lightparser.pl и logrotate. В текущей конфигурации возможен вариант потери части статистики, если lightparser.pl *.log.1.bz2 не анализирует).
Да, со всем согласен. Вот соберусь с силами и сделаю.
всё сделал как recommended, матерится при запуске из хрона /dev/null not available; exiting
(In reply to comment #4) > всё сделал как recommended, матерится при запуске из хрона > /dev/null not available; exiting чуть на забыл - ALM2.4 пакет из backports
точнее, _lightsquid:x:UID:GID::/var/www/html/lightsquid:/dev/null
Сделал с некоторыми изменениями: 1.Псевдопользователь называется lightsquid. 2.Файл /etc/cron.d/lightsquid не noreplace, т.к. при его изменении остается .rpmsave который обрабатывается кроном (наверно это надо как-то исправлять?) 3. /etc/cron.d/lightsquid содержит не то, что предлагал mike@, вот так: 05 * * * * lightsquid /usr/sbin/lightparser.pl 4. Т.к. lightsquid позволяет обрабатывать bz и bz2 архивы, я пока не задавался вопросом, как синхронизировать с ротацией лога сквида. Скорее всего раз в неделю будет запускаться по крону обработка всех архивов для корекции.
(In reply to comment #7) > Сделал с некоторыми изменениями: > ... > > 4. Т.к. lightsquid позволяет обрабатывать bz и bz2 архивы, я пока не задавался > вопросом, как синхронизировать с ротацией лога сквида. Скорее всего раз в неделю > будет запускаться по крону обработка всех архивов для корекции. Если правельно представляю его работу, то для исключения пропумков -- достаточно добится совместной обработки *.log + *.log.1.bz2. (Могу ошибаться: в детали его работы ещё не лазил.)