Included with Theia are numerous "cron" scripts; that is php scripts that 'ought to be run every now and then, and render many of the maintenance tools useless.
All cron scripts are located in DIR_LIB/cron.
To schedule any of these scripts to be automatic cron jobs, use the admin tool "cron configuration & management" (admin tool 010), to easily add them through Theia's interface!
backup.cron.php
backup.cron.php runs Maintenance::Backup(), which does two things:
- creates an archive of your DIR_USR directory (all files uploaded by your members) and saves it in DIR_BUP using the date in the file name
- creates a database dump and stores it (using the date in the file name) in DIR_BUP
Recommended frequency to run script: weekly (or as desired)
bdayecards.cron.php
bdayecards.cron.php scans the database of members to see which members have birthdays, and then sends them the e-card configured in "ecard settings" (admin tool 153).
Recommended frequency to run script: daily (if you want everyone to get an e-card on their birthday)
bdaynotify.cron.php
bdaynotify.cron.php scans the database of members to see which members have birthdays, and then any of their friends (who have chosen to be notified) notifications alerting them of the birthday.
Recommended frequency to run script: daily
calendar.cron.php
calendar.cron.php looks for upcoming calendar events members have added, and sends them a notification if the time is appropriate, and if they want a notification.
Recommended frequency to run script: daily
cleansessions.cron.php
cleansessions.cron.php invokes Maintenance::DumpOldSessionData(), with 30 (days) as the argument. This causes sessions older than 30 days to be removed from the database, as well as page view history which is older than 30 days.
Recommended frequency to run script: monthly
cputemp.cron.php
cputemp.cron.php logs the server's current CPU temperature to DIR_LOG/cputemp.txt
Recommended frequency to run script: every 15 minutes (or as desired)
flushdailyunique.cron.php
flushdailyunique.cron.php runs Maintenance::DumpOldUniqueData(), which removes all daily-unique visitor data older than the number of days specified in "cron configuration & management" (admin tool 010).
Recommended frequency to run script: weekly
geoip.cron.php
geoip.cron.php downloads an archive of the latest database package of IP addresses and saves it to CACHE/IpToCountry.csv.gz, and then extracts the package to obtain a workable CSV Then, the IP location records in your database are all deleted as GeoIP::CompileDatabase() is run, which refills your IP location table with the most up to date information.
Recommended frequency to run script: monthly
listen.cron.php
listen.cron.php listens to any announced events that have not yet been processed and processes them (since no argument is defined, only the first 10 events will be processed).
Recommended frequency to run script: every minute (or as desired, but the shorter the time, the more responsive your site will feel)
mailq.cron.php
mailq.cron.php runs MailQ::SendBatch(), which sends emails that are waiting on queue, prioritizing those flagged with higher priorities first.
Recommended frequency to run script: every 5 minutes
optimize.cron.php
optimize.cron.php runs Maintenance::OptimizeTables(), which optimizes each of Theia's mySQL tables by removing the overhead that builds up.
Recommended frequency to run script: daily
popular.cron.php
popular.cron.php scans through all your member profile data and generates massive arrays of the words or phrases that get used the most (for all your custom fields), and saves the data to the popular table in the database. It also scans through all item text for the most frequently used words (that are not ignored in "manage ignored words for tag cloud"; admin tool 106) and saves this data to the popular table.
Recommended frequency to run script: weekly (or as desired, but not too close together, such as every 10 minutes, because this process can be intensive, depending on the size of your database)
purgeunactivated.cron.php
purgeunactivated.cron.php removes the accounts of any accounts that have not verified their email address by activating the account #######
Recommended frequency to run script: daily
sendcodes.cron.php
sendcodes.cron.php re-sends out the necessary activation code / link to any members that still need to activate their accounts, by running ManageMember::SendActivationCode().
Recommended frequency to run script: daily
setmystatustoauto.cron.php
setmystatustoauto.cron.php runs ManageMember::SetMyStatusToAuto(), which causes every account, that is not currently online, to have their "my status" message to revert to whatever they set the automatic message to be when they are offline.
Recommended frequency to run script: the same amount of time you have set to keep users listed on the "who's online" page for - if users remain "online" for 30 minutes, then running this script every 30 minutes is ideal
timeoutchat.cron.php
timeoutchat.cron.php causes the chat rooms to remove any users from the list (who haven't pinged in a certain amount of time, and presumably closed the chat window without using the "close chat" button).
Recommended frequency to run script: every 5 minutes
updateratios.cron.php
updateratios.cron.php runs ManageMember::UpdateRatios(), which in turn makes sure that every member's weekly item and post ratio are synchronized, by calculating the ratios again, and updating the member's record.
Recommended frequency to run script: daily






