diff options
author | mattab <matthieu.aubry@gmail.com> | 2014-04-25 04:42:18 +0400 |
---|---|---|
committer | mattab <matthieu.aubry@gmail.com> | 2014-04-25 04:42:18 +0400 |
commit | 5a233b546591b6d1aeaf45153fa5464ddcb487cc (patch) | |
tree | 3e7ea72aed3559fbe34b576ed3094bceae68b0ed /misc/cron/archive.sh | |
parent | 2cd472d58125d72019a640f10c01cc33be184aa1 (diff) |
Fixes #5039 Deprecate archive.sh by printing warning message, returning error, and still we try to stay backward compatible by running ./console core:archive
Diffstat (limited to 'misc/cron/archive.sh')
-rwxr-xr-x | misc/cron/archive.sh | 78 |
1 files changed, 11 insertions, 67 deletions
diff --git a/misc/cron/archive.sh b/misc/cron/archive.sh index 6fc4a9c1bc..4843b540ac 100755 --- a/misc/cron/archive.sh +++ b/misc/cron/archive.sh @@ -1,52 +1,19 @@ #!/bin/sh -e - -# ======================================================================= -# BEFORE YOU USE THIS SCRIPT: -# PLEASE DON'T. # ======================================================================= +# WARNING: this script archive.sh is DEPRECATED! # -# -# ==> Use archive.php instead. <== +# => Replace your cron with `/usr/bin/php5 /path/to/piwik/console core:archive --url=http://example.org/piwik/` # # See documentation at http://piwik.org/setup-auto-archiving/ # ======================================================================= -# Description -# This cron script will automatically run Piwik archiving every hour. -# The script will also run scheduled tasks configured within piwik using -# the event hook 'TaskScheduler.getScheduledTasks' - -# It automatically fetches the Super User token_auth -# and triggers the archiving for all websites for all periods. -# This ensures that all reports are pre-computed and Piwik renders very fast. - -# Documentation -# Please check the documentation on http://piwik.org/docs/setup-auto-archiving/ - -# How to setup the crontab job? -# Add the following lines in your crontab file, eg. /etc/cron.d/piwik-archive -#---------------START CRON TAB-- -#MAILTO="youremail@example.com" -#5 * * * * www-data /path/to/piwik/misc/cron/archive.sh > /dev/null -#-----------------END CRON TAB-- -# When an error occurs (eg. php memory error, timeout) the error messages -# will be sent to youremail@example.com. -# -# Optimization for high traffic websites -# You may want to override the following settings in config/config.ini.php: -# See documentation of the fields in your piwik/config/config.ini.php -# -# [General] -# time_before_archive_considered_outdated = 3600 -# enable_browser_archiving_triggering = false -#=========================================================================== - for TEST_PHP_BIN in php5 php php-cli php-cgi; do if which $TEST_PHP_BIN >/dev/null 2>/dev/null; then PHP_BIN=`which $TEST_PHP_BIN` break fi done + if test -z $PHP_BIN; then echo "php binary not found. Make sure php5 or php exists in PATH." >&2 exit 1 @@ -61,39 +28,16 @@ act_path() { ARCHIVE=`act_path ${0}` PIWIK_CRON_FOLDER=`dirname ${ARCHIVE}` -PIWIK_PATH="$PIWIK_CRON_FOLDER"/../../index.php -PIWIK_TOKEN_GENERATOR="$PIWIK_CRON_FOLDER"/../../misc/cron/updatetoken.php +PIWIK_PATH="$PIWIK_CRON_FOLDER"/../../console -FILENAME_TOKEN_CONTENT=`$PHP_BIN $PIWIK_TOKEN_GENERATOR` -TOKEN_AUTH=`cat $FILENAME_TOKEN_CONTENT | cut -f2` +CONSOLE_CMD="$PHP_BIN -q $PIWIK_PATH core:archive --url=http://example.org" -CMD_GET_ID_SITES="$PHP_BIN -q $PIWIK_PATH -- module=API&method=SitesManager.getAllSitesId&token_auth=$TOKEN_AUTH&format=csv&convertToUnicode=0" -ID_SITES=`$CMD_GET_ID_SITES` +MESSAGE="\n\n WARNING: this script archive.sh is DEPRECATED! \n\nPlease update your cron as explained in the documentation: http://piwik.org/docs/setup-auto-archiving/ \n\n" -echo "Starting Piwik reports archiving..." -echo "" -for idsite in $ID_SITES; do - TEST_IS_NUMERIC=`echo $idsite | egrep '^[0-9]+$'` - if test -n "$TEST_IS_NUMERIC"; then - for period in day week month year; do - echo "" - echo "Archiving period = $period for idsite = $idsite..." - CMD="$PHP_BIN -q $PIWIK_PATH -- module=API&method=VisitsSummary.getVisits&idSite=$idsite&period=$period&date=last52&format=xml&token_auth=$TOKEN_AUTH" - $CMD - - done +echo $MESSAGE; - echo "" - echo "Archiving for idsite = $idsite done!" - fi -done +$CONSOLE_CMD + +echo $MESSAGE; -echo "Reports archiving finished." -echo "---------------------------" -echo "Starting Scheduled tasks..." -echo "" -CMD="$PHP_BIN -q $PIWIK_PATH -- module=API&method=CoreAdminHome.runScheduledTasks&format=csv&convertToUnicode=0&token_auth=$TOKEN_AUTH" -$CMD -echo "" -echo "Finished Scheduled tasks." -echo "" +exit 1
\ No newline at end of file |