User:Dougt

From MythTV Official Wiki
Jump to: navigation, search

Backend

  • Intel Core 2 Duo E7500 2.93GHz 1066FSB 3MB 65W LGA775 45nm
  • Asus P5KPL-AM SE G31 LG775 DDR2 1333FSB mATX w/VGA, Aud, LAN
  • 4GB DDR2 800MHz Memory
  • Seagate 250GB 16MB 7200RPM (For OS)
  • 2 x Seagete 2TB
  • 24X DVD+-RW Dual Layer SATA
  • Tuners
    • 2 x Hauppauge HD-PRV 1212 HD-PVR
      • Firewire channel changer
      • Compontent video
      • Stero audio
    • Hauppauge HVR-1600
      • Serial channel changer
      • Coaxial analog

Frontend 1


Frontend 2

Scripts

Today's Errors

to figure out what happened today:

cat /var/log/mythtv/backend.log | grep `date +%C%y-%m-%d` | grep -i error

Push debs

I build myth on a backend server, then push it to the two front ends that I have. This process is a bit annoying. Here is a simple script that helps. Make sure that you:

1) can ssh into each frontend without having to type a password (authorized keys)

2) make sure that the user on each front end can sudo without password dpkg and reboot


FRONTENDS=(mythfe@192.168.1.101 mythfe@192.168.1.103)

# Frontend
#  We --force-architecture during installation of debs because one
#  of the frontends is a AMD64 and we are building 32 bits
#
#  This script should run without prompt if the users have sudo
#  access without password (see sudo visudo).

index=0
element_count=${#FRONTENDS[@]}
while [ "$index" -lt "$element_count" ]
do
    current=${FRONTENDS[$index]}

    echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"
    echo "Pushing debs to "$current
    ssh $current rm -f *deb
    scp myth_src/mythtv-trunk/mythtv/myth*.deb $current:~/
    scp myth_src/mythtv-trunk/mythplugins/mythplugins*.deb $current:~/

    echo "Installing debs to "$current
    ssh $current sudo dpkg -i --force-architecture *.deb
    ssh $current sudo reboot

    echo "Rebooting "$current

    ((index++))
done

echo "All done."

Note, that now I just use NFS and stop pushing debs arounds. :-)

Myth Status

Starter script on showing myth information from the command line using python

from MythTV import MythDB, MythBE

db = None
db = MythDB()

if db == None:
  print "Database could not be open or found"
  exit()


be = None
be = MythBE()

if be == None:
  print "Backend could not be found."
  #exit()


for x in be.getRecorderList():
  print "Tuner " + str(x) + " is recording: " + str(be.getCurrentRecording(x).title)


fs = be.getFreeSpace()
print "----------------------------------"
for x in fs:
  print "Host: " + x.host
  print "\tPath: " + x.path
  print "\t\tTotal space: " + str(x.totalspace / 1024 / 1024) + "MB"
  print "\t\tFree  space: " + str(x.freespace / 1024  / 1024) + "MB"
  print "\t\tUsed  space: " + str(x.usedspace / 1024  / 1024) + "MB"
  print "----------------------------------"


Errors and Fixes

Sometimes one of the databases will get corrupt. This might cause all sorts of issues. One such issues may be that fast-forwarding and rewinding will not work cleanly. Instead of jumping to the next spot in a video, it will get suck on a screen that says "Searching...". If you see that, do this:

mysqlcheck --auto-repair -A -u mythtv -p