[mythtv-users] MythFillDatabase question

Bruce Markey bjm at lvcm.com
Tue Apr 27 18:07:43 EDT 2004


Rudy Zijlstra wrote:
> Hi all,
> 
> I would like some explanation on mythfilldatabase.
> 
> In the howtos it is stated that this program should only run on the 
> masterbackend, and implied is that it *can* only run on the master 
> backend. I can understand running it on only 1 backend for consistency & 
> race condition avoidance reasons.

Correct, I think "NOTE: Do not run mythfilldatabase on a
non-master backend" is there to reinforce to a new user that
they should not add a cron job for each slave. For performance
reasons, it is best to run it on the same machine as the DB
and I think this note and section of the docs assumes that also.

mythfilldatabase does not speak to the master as it runs and
only needs to talk to the database. The only other requirement
is that it need to find $HOME/.mythtv/<sourcename>.xmltv and, of
course, the mysql.txt for connect info. If you run it as another
user or from another machine with separate home dirs, these files
would need to be copied.

> So the questions:
> - In what manner is mythfilldatabase linked to the master backend server?

Running standalone from the commandline or from cron, there is
no link.

> - what are the meanings/purposes of the following settings:
> | MythFillEnabled           | 0                      | tv-server |
> | MythFillDatabasePath      | mythfilldatabase       | tv-server |
> | MythFillDatabaseArgs      |                        | tv-server |
> | MythFillDatabaseLog       |                        | tv-server |
> | MythFillPeriod            | 1                      | tv-server |
> | MythFillMinHour           | 2                      | tv-server |
> | MythFillMaxHour           | 5                      | tv-server |

This is part of a recent addition where the master backend can spawn
mythfilldatabase itself. The advantages being that you don't have to
set up a separate cron job, it will obviously run as the same user
as the MBE and therefore there should be no issues with permissions
or access to the database. To set this up you would need to be using
CVS and go to Setup->General. This really ought to be in Setup->TV
Settings->General.

I presume that this feature would only be checked and run correctly
on the master (but I haven't tried enabling for a slave and it may
actually work).

> - Should i move those settings over to be "owned" by the file server 
> (the new master backend)?

Your best bet would be to just run it from cron on the new DB
server. Currently you have MythFillEnabled = 0 so it doesn't
matter. On my systems, I have these entries for every backend
host. If you wanted to try this, you could enable it from your
new DB/master/file server and the "tv-server" in the settings
table won't matter.

mysql> select * from settings where value like 'MythFillE%';
+-----------------+------+----------+
| value           | data | hostname |
+-----------------+------+----------+
| MythFillEnabled | 0    | moktoo   |
| MythFillEnabled | 0    | nordtv   |
| MythFillEnabled | 0    | nordvid  |
| MythFillEnabled | 0    | sleepy   |
+-----------------+------+----------+

--  bjm


More information about the mythtv-users mailing list