#!/bin/bash -e # HOW TO SETUP THE CRONTAB JOB # Add the following lines in your crontab file, eg. /etc/cron.d/piwik-archive #MAILTO="youremail@example.com" #5 0 * * * www-data /path/to/piwik/misc/cron/archive.sh > /dev/null # OPTIMIZATION FOR HIGH TRAFFIC WEBSITE # Please change the following settings in config/global.ini.php # time_before_archive_considered_outdated = 3600 # enable_browser_archiving_triggering = false PHP_BIN=`which php5` PIWIK_CRON_FOLDER=`dirname $(readlink -f ${0})` PIWIK_PATH="$PIWIK_CRON_FOLDER"/../../index.php PIWIK_CONFIG="$PIWIK_CRON_FOLDER"/../../config/config.ini.php CONF_DATA=`cat -s $PIWIK_CONFIG` CONF_DATA=($CONF_DATA) PIWIK_SUPERUSER=${CONF_DATA[28]} PIWIK_SUPERUSER_PASSWORD=${CONF_DATA[31]} CMD_TOKEN_AUTH="$PHP_BIN $PIWIK_PATH -- module=API&method=UsersManager.getTokenAuth&userLogin=$PIWIK_SUPERUSER&md5Password=$PIWIK_SUPERUSER_PASSWORD&format=php" CMD_TOKEN_AUTH_RESULT=`$CMD_TOKEN_AUTH` TOKEN_AUTH=${CMD_TOKEN_AUTH_RESULT:6:32} for period in day week year; do CMD="$PHP_BIN $PIWIK_PATH -- module=API&method=VisitsSummary.getVisits&idSite=all&period=$period&date=last52&format=xml&token_auth=$TOKEN_AUTH" $CMD echo "" done