Maintencance Script not clearing database

Hi, I’ve been using xibo for a while and although it sounds stupid I’ve never configured the maintenance scripts to clear out the database. Subsequently the ‘stat’ table is now 700MB which I discovered when trying to migrate the database.
In the xibo CMS all the maintenance options are with the default settings and I’m not using the protected mode. My scheduled task (windows 2012r2 server running xampp) runs: ‘C:\xampp\php\php.exe’ with the added arguments: ‘-f C:\xampp\htdocs\xibo\maintenance.php’ and start in: ‘C:\xampp\htdocs\xibo’

I’ve also tried the calling as above but with the php-win.exe with the same results.

The scheduled task runs and reports back the (0x0) successful result in the task scheduler but the tables in php haven’t changed upon multiple runs of the script. The stat section actually seemed to get bigger upon the first run, from around 550MB to 700MB??

I’m probably doing something stupid but any suggestions would be greatly appreciated.


I think you need to put the maintenance secret behind this so that it look something like:

-f "C:\path\to\xibo\maintenance.php" passwordhere

I thought that was only if protected mode was selected in the CMS maintenance options?

As far as I know you always need the secret included. @Peter may have an answer on that part.

Yeah you only need the password if you’re in protected mode.

Try running it directly from a browser and see what output you get

Hi, schools been closed for 2 weeks over Christmas so apologies for not posting back.

Even though I’m not in protected mode, putting the password in as suggested does seem to have made a difference.
However in MySQL, the log table is still 42MB and the stat table is still 131MB which both seem to be a little high seeing as in the xibo CMS I’ve only set it to keep 14 das of logs and stats. Is this still bigger than it should be?

@alex how would I go about running the command from a browser? I run xibo through xampp on windows server 2012r2.


You would just go to http://your.server/xibo/maintenance.php

The size of the database depends entirely on the number of records in it - there’s no “right” size. Also keep in mind just because you delete records from the database itself, MySQL won’t shrink the data files on the disk directly by itself. It will just reuse that space when it needs space for new records instead.

thanks for that, much simpler than I thought.

I also have another installation of xibo running on an externally hosted web server ( Is it possible to schedule the maintenance script or does it just need running from a browser as you suggested?

It depends if they allow you to run something like a cronjob. If not, there are lots of web-based services that will do that job for you. Some paid, some free. Search Google for web cron job.

I’m having just about the same problem except mine is just not triggering emails.
If I call maintenance.php from the browser it works just fine. I did include the secret in the argument and the scheduled task says it ran successfully but no email is sent?
This is a 64bit Win 2008r2 running CMS v1.7.6
Any advise would be great.

Did you enable the global email alerts and email alerts on displays?

Hi Peter
Sure did it works just fine when I call maintenance.php from the browser I receive an email.
It just doesn’t seem like the scheduled task is doing anything but it says it’s running successfully every 5 minutes.

What do you get if you call the same command from a command prompt?

So you run your exact command as you’ve given the scheduled task?

When I run the command from the command prompt it just jumps to a new line and doesn’t tell me anything.
It doesn’t say there was an error or if it was successful just jumps to a new line for for another command. Below is the command I’m using. I’m using the short names because the long file names would error in the task scheduler.
If I use php.exe it just seems to hang until I hit enter again and then it jumps to a new line waiting for another command.


If calling it from a browser works then all I can suggest is you setup your scheduled task to access it that way instead. So use a tool like wget ( to “download” the correct URL instead.