Here is the daily/weekly cronjob I put together over the years to perform MythTV-related maintenance tasks on my backend server.
Before I do anything with the MythTV database, I ensure that it's not corrupted:
4 1,13 * * * mythtv /usr/bin/mysqlcheck -p --silent --extended mythconverg
Then I start the actual maintenance tasks. The first part performs a database backup:
5 1,13 * * * mythtv /usr/share/mythtv/mythconverg_backup.pl
which I previously configured by putting the following in /home/mythtv/.mythtv/backuprc
:
DBBackupDirectory=/var/backups/mythtv
rotate=15
and creating a new directory for it:
mkdir /var/backups/mythtv
chown mythtv:mythtv /var/backups/mythtv
The second part of /etc/cron.d/mythtv-maintenance
runs a contrib script to optimize the database
tables:
10 1 * * * mythtv /usr/bin/chronic /usr/share/doc/mythtv/examples/maintenance/optimize_mythdb.pl
once a day. It requires the libmythtv-perl
and libxml-simple-perl
packages
to be installed on Debian-based systems.
It is quickly followed by a check of the recordings and automatic repair of the seektable (when possible):
20 1 * * * mythtv /usr/bin/chronic /usr/bin/mythutil --checkrecordings --fixseektable
Next, I force a scan of the music and video databases to pick up anything new that may have been added externally via NFS mounts:
30 1 * * * mythtv /usr/bin/mythutil --quiet --scanvideos
31 1 * * * mythtv /usr/bin/mythutil --quiet --scanmusic
Finally, I defragment the XFS partition for two hours every day except Friday:
45 1 * * 1-4,6-7 root /usr/sbin/xfs_fsr
and resync the RAID-1 arrays once a week to ensure that they stay consistent and error-free:
15 3 * * 2 root /usr/local/sbin/raid_parity_check md0
15 3 * * 4 root /usr/local/sbin/raid_parity_check md2
using a trivial script.
In addition to that cronjob, I also have
smartmontools run daily
short and weekly long SMART
tests via this blurb in /etc/smartd.conf
:
/dev/sda -a -d ata -o on -S on -s (S/../.././04|L/../../6/05)
/dev/sdb -a -d ata -o on -S on -s (S/../.././04|L/../../6/05)
If there are any other automated maintenance tasks you do on your MythTV server, please leave a comment!