我在一个没有运行任何javascript的站点上使用Piwik Analytics,我宁愿从访问日志中创build数据,而不是从图片跟踪器中创build数据 – 日志的结果实际上更好,因为它们可以包含静态文件下载。
这是一个Ubuntu 12.04和nginx 1.4.5的LEMP服务器。
python脚本位于/var/www/example1.com/public/piwik/misc/log-analytics/import-logs.py ,需要运行几个选项。 访问日志位于/var/www/example2.com/logs/access.log.1 。
/etc/logrotate.d/nginx的相关部分包含:
/var/www/*/logs/*.log { daily missingok rotate 36500 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript postrotate [ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid` endscript }
我不知道如何整合一个python脚本,以便它可以在循环结束后运行(循环完成后)。
编辑:
另外一个我最初没有考虑的问题是,这个脚本只需要运行一个域 – 服务器上的其他域不需要脚本。 上面创build的文件是为了自动旋转添加到服务器的所有域的日志,而不必编辑/etc/logrotate.d/nginx 。
你可以在endscript和endscript行之间放置你想要执行的命令(确保已经存在的行):
postrotate [ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid` /usr/bin/python /var/www/example1.com/public/piwik/misc/log-analytics/import-logs.py somearguments endscript