Назад | Перейти на главную страницу

Ошибка AWStats: сбой команды для канала

Я получаю эту ошибку из задания cron AWStats 7.2 (в Ubuntu 14.04, используя стандартный пакет awstats) при чтении журнала icecast через канал для фильтрации одного виртуального хоста:

Error while processing /etc/awstats/awstats.mysite.conf
Create/Update database for config "/etc/awstats/awstats.mysite.conf" by AWStats version 7.2 (build 1.992)
From data in log file "grep '\/mysite' < /var/log/icecast2/access.log |"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Error: Command for pipe 'grep '\/mysite' < /var/log/icecast2/access.log |' failed
Setup ('/etc/awstats/awstats.mysite.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).

На первый взгляд, это выглядит как простая проблема с разрешениями, но файлы конфигурации и журналы доступны для чтения. www-data пользователь это работает под. Если я войду в эту учетную запись пользователя, я смогу прочитать оба файла без проблем.

#sudo -u www-data ls -al /etc/awstats/awstats.mysite.conf /var/log/icecast2/access.log
-rw-r--r-- 1 www-data www-data 444 May 13 11:23 /etc/awstats/awstats.mysite.conf
-rw-r--r-- 1 icecast2 icecast    0 Jun  8 05:29 /var/log/icecast2/access.log

Если я запускаю команду grep под тем же пользователем, это тоже работает нормально.

Чтобы избежать ложных проблем, я отключил все плагины - я все равно использую только geoip, поэтому настройка довольно ванильная. Если я запустил команду awstats вручную с полным --debug=6 output похоже, что у него нет проблем с чтением файла - ошибка выдается при закрытии файла. Как это часто бывает, этот файл журнала в настоящее время пуст, поэтому нечего анализировать, но, конечно же, это не должно вызывать ошибку прав доступа?

Sat Jun 13 20:33:21 2015 - DEBUG 1 - Start Update process (lastprocesseddate=201505)
Sat Jun 13 20:33:21 2015 - DEBUG 1 - Open log file "grep '\/mysite' < /var/log/icecast2/access.log |"
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Sat Jun 13 20:33:21 2015 - DEBUG 1 -  _host_p:0 _host_h:0 _host_k:0 _host_l:0 _host_s:0 _host_u:0

Sat Jun 13 20:33:21 2015 - DEBUG 1 -  _url_p:0 _url_k:0 _url_e:0 _url_x:0

Sat Jun 13 20:33:21 2015 - DEBUG 1 -  _waithost_e:0 _waithost_l:0 _waithost_s:0 _waithost_u:0

Sat Jun 13 20:33:21 2015 - DEBUG 1 - End of processing log file (AWStats memory cache is TmpDNSLookup=0 TmpBrowser=0 TmpOS=0 T
mpRefererServer=0 TmpRobot=0)
....(lots of stuff that seems related to successful processing and output deleted)
Sat Jun 13 20:33:21 2015 - DEBUG 1 -  Update offset of section sider_404=10022 in file at offset 1381
Sat Jun 13 20:33:21 2015 - DEBUG 1 -  Update MonthVisits=290 in file at offset 2140
Sat Jun 13 20:33:21 2015 - DEBUG 1 -  Update MonthUnique=168 in file at offset 2173
Sat Jun 13 20:33:21 2015 - DEBUG 1 -  Update MonthHostsKnown=0 in file at offset 2210
Sat Jun 13 20:33:21 2015 - DEBUG 1 -  Update MonthHostsUnknown=182 in file at offset 2249
Sat Jun 13 20:33:21 2015 - DEBUG 1 - Call to Init_HashArray
Sat Jun 13 20:33:21 2015 - DEBUG 1 - Close log file "grep '\/mysite' < /var/log/icecast2/access.log |"
Sat Jun 13 20:33:21 2015 - DEBUG 1 - Command for pipe 'grep '\/mysite' < /var/log/icecast2/access.log |' failed

Что я пропустил?