[Koha-patches] [PATCH] 7042 Improving cleanup_database.pl: handling quotes in a_session and interpreting sessdays parameter

Marcel de Rooy M.de.Rooy at rijksmuseum.nl
Mon Oct 17 11:51:26 CEST 2011


Improving the cleanup_database.pl script in two aspects:
1) In some cases CGI::Session seems to place quotes around the atime and ctime
data in the a_session field. Two regexps now take this into account.
2) If the --sessdays parameter is used, the --sessions parameter is now
implicitly enabled too.

With thanks to Ian Bays and Tom Hanstra.
---
 misc/cronjobs/cleanup_database.pl |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/misc/cronjobs/cleanup_database.pl b/misc/cronjobs/cleanup_database.pl
index 1333111..ba2a6d8 100755
--- a/misc/cronjobs/cleanup_database.pl
+++ b/misc/cronjobs/cleanup_database.pl
@@ -44,7 +44,7 @@ Usage: $0 [-h|--help] [--sessions] [--sessdays DAYS] [-v|--verbose] [--zebraqueu
                       other options
    --sessions         purge the sessions table.  If you use this while users 
                       are logged into Koha, they will have to reconnect.
-   --sessdays DAYS    purge only sessions older than DAYS days (use together with sessions parameter).
+   --sessdays DAYS    purge only sessions older than DAYS days.
    -v --verbose       will cause the script to give you a bit more information
                       about the run.
    --zebraqueue DAYS  purge completed entries from the zebraqueue from 
@@ -64,6 +64,7 @@ GetOptions(
     'm|mail'       => \$mail,
     'zebraqueue:i' => \$zebraqueue_days,
 ) || usage(1);
+$sessions=1 if $sess_days && $sess_days>0;
 
 if ($help) {
     usage(0);
@@ -148,9 +149,9 @@ sub RemoveOldSessions {
 
     while ( $sth->fetch ) {
         $lasttime = 0;
-        if ( $a_session =~ /lasttime:\s+(\d+)/ ) {
+        if ( $a_session =~ /lasttime:\s+'?(\d+)/ ) {
             $lasttime = $1;
-        } elsif ( $a_session =~ /(ATIME|CTIME):\s+(\d+)/ ) {
+        } elsif ( $a_session =~ /(ATIME|CTIME):\s+'?(\d+)/ ) {
             $lasttime = $2;
         }
         if ( $lasttime && $lasttime < $limit ) {
-- 
1.6.0.6



More information about the Koha-patches mailing list