Initial import of CVS-v2_8_branch

This commit is contained in:
Fred Gleason
2014-08-12 15:13:02 -04:00
commit afd67c7af8
1508 changed files with 405304 additions and 0 deletions

58
scripts/Makefile.am Normal file
View File

@@ -0,0 +1,58 @@
## automake.am
##
## Scripts Directory Makefile.am for Rivendell
##
## (C) Copyright 2002-2012 Fred Gleason <fredg@paravelsystems.com>
##
## $Id: Makefile.am,v 1.20.6.5 2012/11/29 01:37:37 cvs Exp $
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License version 2 as
## published by the Free Software Foundation.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public
## License along with this program; if not, write to the Free Software
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
##
##
## Use automake to process this into a Makefile.in
install-exec-local:
mkdir -p /etc/X11/xinit/xinitrc.d
cp start-rdmonitor.sh /etc/X11/xinit/xinitrc.d/
uninstall-local:
rm -f /etc/X11/xinit/xinitrc.d/start-rdmonitor.sh
bin_SCRIPTS = crc-unity4k.sh\
rd_audio_sync\
rd_config\
rd_backup\
rdmemcheck.sh\
sage_endec_rwt.sh
EXTRA_DIST = crc-unity4k.sh\
kill_rd\
rd_audio_sync\
rd_backup\
rd_backup_system.sh\
rd_config\
rd_create_db\
rd_memmon.sh\
rd_mysql_enable_host.sh\
rd_restore_system.sh\
rdmemcheck.sh\
sage_endec_rwt.sh\
start_rd\
start_traverso.sh\
start-rdmonitor.sh
CLEANFILES = *~
MAINTAINERCLEANFILES = *~\
Makefile.in

377
scripts/crc-unity4k.sh Executable file
View File

@@ -0,0 +1,377 @@
#!/bin/bash
# crc-unity4k.sh
#
# Create a Unity4000 Switcher Configuration for the
# Christian Radio Consortium (CRC) Network
#
# (C) Copyright 2004 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: crc-unity4k.sh,v 1.3 2007/02/14 21:59:12 fredg Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Usage: crc-unity4k <mysql-hostname> <station-name> <matrix-num>
#
# Arguments
#
HOSTNAME=$1
STATION=$2
MATRIX=$3
#
# Check Argument Sanity
#
if [ -z $HOSTNAME ] ; then
echo "USAGE: crc-unity4k <mysql-hostname> <station-name> <marix-num>"
exit 1
fi
if [ -z $STATION ] ; then
echo "USAGE: crc-unity4k <mysql-hostname> <station-name> <marix-num>"
exit 1
fi
if [ -z $MATRIX ] ; then
echo "USAGE: crc-unity4k <mysql-hostname> <station-name> <marix-num>"
exit 1
fi
#
# Show Settings and Confirm
#
echo
echo "This will create a set of default CRC input assignments on the following"
echo "database/matrix:"
echo " mySQL Hostname: $HOSTNAME"
echo " Station Name: $STATION"
echo " Matrix Number: $MATRIX"
echo
echo "WARNING: This will OVERWRITE any existing input assignments for"
echo "this matrix!"
echo
echo -n "Continue?"
read REPLY
echo
echo -n "Working..."
#
# Delete Existing Configuration
#
SQL="delete from INPUTS where (STATION_NAME=\"$STATION\" && MATRIX=$MATRIX)"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# Write New Inputs
#
#
# AA-1
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=1,\
NAME=\"AA-1 Stereo\",FEED_NAME=\"AA1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=2,\
NAME=\"AA-1 Left\",FEED_NAME=\"AA1\",CHANNEL_MODE=1"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=3,\
NAME=\"AA-1 Right\",FEED_NAME=\"AA1\",CHANNEL_MODE=2"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# AA-2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=4,\
NAME=\"AA-2 Stereo\",FEED_NAME=\"AA2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=5,\
NAME=\"AA-2 Left\",FEED_NAME=\"AA2\",CHANNEL_MODE=1"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=6,\
NAME=\"AA-2 Right\",FEED_NAME=\"AA2\",CHANNEL_MODE=2"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# AMC
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=7,\
NAME=\"AMC\",FEED_NAME=\"AMC\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# CRB
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=8,\
NAME=\"CRB\",FEED_NAME=\"CRB\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# CSN
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=9,\
NAME=\"CSN\",FEED_NAME=\"CSN\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# CS2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=10,\
NAME=\"CS2\",FEED_NAME=\"CS2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# FN-1
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=11,\
NAME=\"FN-1 Stereo\",FEED_NAME=\"FN1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=12,\
NAME=\"FN-1 Left\",FEED_NAME=\"FN1\",CHANNEL_MODE=1"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=13,\
NAME=\"FN-1 Right\",FEED_NAME=\"FN1\",CHANNEL_MODE=2"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# FN-2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=14,\
NAME=\"FN-2 Stereo\",FEED_NAME=\"FN2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=15,\
NAME=\"FN-2 Left\",FEED_NAME=\"FN2\",CHANNEL_MODE=1"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=16,\
NAME=\"FN-2 Right\",FEED_NAME=\"FN2\",CHANNEL_MODE=2"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# FN-3
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=17,\
NAME=\"FN-3 Stereo\",FEED_NAME=\"FN3\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=18,\
NAME=\"FN-3 Left\",FEED_NAME=\"FN3\",CHANNEL_MODE=1"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=19,\
NAME=\"FN-3 Right\",FEED_NAME=\"FN3\",CHANNEL_MODE=2"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# FOF
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=20,\
NAME=\"FOF\",FEED_NAME=\"FOF\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# IRN
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=21,\
NAME=\"IRN\",FEED_NAME=\"IRN\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# LF1 Stereo
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=22,\
NAME=\"LF1 Stereo\",FEED_NAME=\"LF1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# LF1 Left
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=23,\
NAME=\"LF1 LEft\",FEED_NAME=\"LF1\",CHANNEL_MODE=1"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# LF1 Right
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=24,\
NAME=\"LF1 Right\",FEED_NAME=\"LF1\",CHANNEL_MODE=2"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# MB1
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=25,\
NAME=\"MB1\",FEED_NAME=\"MB1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# MB2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=26,\
NAME=\"MB2\",FEED_NAME=\"MB2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# REF
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=27,\
NAME=\"REF\",FEED_NAME=\"REF\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# RR1
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=28,\
NAME=\"RR1\",FEED_NAME=\"RR1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SGT
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=29,\
NAME=\"SGT\",FEED_NAME=\"SGT\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SKY
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=30,\
NAME=\"SKY\",FEED_NAME=\"SKY\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SK2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=31,\
NAME=\"SK2\",FEED_NAME=\"SK2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SMA
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=32,\
NAME=\"SMA\",FEED_NAME=\"SMA\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SMB
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=33,\
NAME=\"SMB\",FEED_NAME=\"SMB\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SMC
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=34,\
NAME=\"SMC\",FEED_NAME=\"SMC\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SNN
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=35,\
NAME=\"SNN\",FEED_NAME=\"SNN\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SOS
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=36,\
NAME=\"SOS\",FEED_NAME=\"SOS\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SR1
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=37,\
NAME=\"SR1\",FEED_NAME=\"SR1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SR2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=38,\
NAME=\"SR2\",FEED_NAME=\"SR2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SR3
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=39,\
NAME=\"SR3\",FEED_NAME=\"SR3\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SR4
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=40,\
NAME=\"SR4\",FEED_NAME=\"SR4\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# SR5
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=41,\
NAME=\"SR5\",FEED_NAME=\"SR5\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# US1
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=42,\
NAME=\"US1\",FEED_NAME=\"US1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# US2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=43,\
NAME=\"US2\",FEED_NAME=\"US2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# US3
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=44,\
NAME=\"US3\",FEED_NAME=\"US3\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# US4
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=45,\
NAME=\"US4\",FEED_NAME=\"US4\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# VC1
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=46,\
NAME=\"VC1\",FEED_NAME=\"VC1\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# VC2
#
SQL="insert into INPUTS set STATION_NAME=\"$STATION\",MATRIX=$MATRIX,NUMBER=47,\
NAME=\"VC2\",FEED_NAME=\"VC2\",CHANNEL_MODE=0"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
#
# Update MATRICES Table
#
SQL="update MATRICES set INPUTS=47 where (STATION_NAME=\"$STATION\" && MATRIX=$MATRIX)"
mysql Rivendell -h $HOSTNAME -u rduser -pletmein -e "$SQL"
echo "done."
echo
# End of crc-unity-4k

59
scripts/kill_rd Executable file
View File

@@ -0,0 +1,59 @@
# kill_rd
#
# Shutdown down the Rivendell system daemons
#
# (C) Copyright 2003 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: kill_rd,v 1.5 2007/02/14 21:59:12 fredg Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
# Site Configuration
#
RD_CAED_PID=/var/snd/caed.pid
RD_RIPCD_PID=/var/snd/ripcd.pid
RD_RDCATCHD_PID=/var/snd/rdcatchd.pid
# End of site configuration
# ##########################################################################
echo "Shutting down Rivendell daemons"
#
# Shut Down Rivendell Daemons
#
if [ -z `ps c --no-headers -o "%a" -C caed` ] ; then
echo -n
else
kill `cat $RD_CAED_PID`
fi
rm -f $RD_CAED_PID
if [ -z `ps c --no-headers -o "%a" -C ripcd` ] ; then
echo -n
else
kill `cat $RD_RIPCD_PID`
fi
rm -f $RD_RIPCD_PID
if [ -z `ps c --no-headers -o "%a" -C rdcatchd` ] ; then
echo -n
else
kill `cat $RD_RDCATCHD_PID`
fi
rm -f $RD_RDCATCHD_PID
# End of kill_rd

82
scripts/rd_audio_sync Executable file
View File

@@ -0,0 +1,82 @@
#!/bin/bash
# rd_audio_sync
#
# Syncronize a Rivendell audio archive with the master server.
#
# (C) Copyright 2004 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_audio_sync,v 1.4 2007/05/16 21:07:08 grauf Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Usage:
# rd_audio_sync <master-hostname>
#
#
# Configuration and Paths
#
MODULE_NAME=rivendell
CHECK_FILE=repl.chk
BACKUP_DIR=/var/snd.standby
NICE_ADJ=15
RSYNC=/usr/bin/rsync
NICE=/usr/bin/nice
#
# Check that rd_audio_sync is not already running
#
lockdir=/var/tmp/rd_audio_sync.lock
if mkdir "$lockdir" 2> /dev/null ; then
#echo >&2 "successfully acquired lock"
# Remove lockdir when the script finishes, or when it receives a signal
trap 'rm -rf "$lockdir"' 0 # remove directory when script finishes
trap "exit 2" 1 2 3 15 # terminate script when receiving signal
else
echo >&2 "cannot acquire lock, giving up on $lockdir"
exit 0
fi
#
# Check that the master is alive and well
#
$RSYNC $1::$MODULE_NAME/$CHECK_FILE > /dev/null 2> /dev/null
if [ $? -ne 0 ] ; then
echo "rd_audio_sync: check file not found, aborting"
exit 1
fi
#
# Replicate
#
$NICE -n $NICE_ADJ $RSYNC --times --dirs --delete $1::$MODULE_NAME/*.wav $BACKUP_DIR > /dev/null 2> /dev/null
if [ $? -ne 0 ] ; then
echo "rd_audio_sync: replication returned an error, check rsyncd logs"
exit 2
fi
#
# Cleanup partially transferred files left by buggy versions of rsync (i.e. 2.6.8)
#
$NICE -n $NICE_ADJ rm $BACKUP_DIR/.*wav.* 2> /dev/null
exit 0
# End of rd_audio_sync

72
scripts/rd_backup Executable file
View File

@@ -0,0 +1,72 @@
#!/bin/bash
# rd_backup
#
# Dump the local Rivendell database and copy the dump to one or more
# remote hosts.
#
# Copyright (C) 2006 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_backup,v 1.5 2007/10/08 18:37:33 fredg Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
# Site Settings
#
SITE_ID="kgu"
SHELF_LIFE=7
DB_NAME=Rivendell
DB_USER=root
DB_PASSWORD=letmein
BACKUP_DIR=/home/salem/rd_backup
#
# Generate the backup filename
#
BACKUP_FILE=`date +$BACKUP_DIR/$SITE_ID-%Y%m%d.sql`
#
# Dump the database
#
mysqldump --opt -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE
#
# Purge old backups
#
find $BACKUP_DIR -mtime +$SHELF_LIFE -type f -exec rm \{\} \;
#
# Copy to remote hosts
#
# Customize this section to list the remote hosts you wish to copy the
# dump to. Yoou will need two lines for each host: one to copy the data,
# and another to purge old data.
#
# For example, let's say you have a host called 'rivendell.example.com',
# where you want to put the backups into a directory called
# '/home/salem/rdbackup'. You would do:
#
# scp -q $BACKUP_FILE salem@rivendell.example.com:rd_backup/
# ssh salem@rdkaim "find /home/salem/rd_backup -mtime $SHELF_LIFE -type f -exec rm \{\} \;"
#
#
# Note that the remote machine must be set up to accept automatic logins via
# ssh(1) in order for this to work!
#
# End of rd_backup

105
scripts/rd_backup_system.sh Executable file
View File

@@ -0,0 +1,105 @@
#! /bin/bash
# rd_backup_system.sh
#
# Back up a complete Rivendell setup to removable media.
#
# (C) Copyright 2011 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_backup_system.sh,v 1.3 2011/05/23 11:22:48 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# This script is intended for use as a starting point for a site-specific
# backup routine. Administrators are strongly encouraged to customize it
# for their envirnment!
#
#
# Site Configuration
#
MYSQL_USERNAME=rduser
MYSQL_PASSWORD=letmein
MYSQL_HOSTNAME=127.0.0.1
MYSQL_DBNAME=Rivendell
BACKUP_DEVICE=/dev/sdb1
BACKUP_MOUNT_POINT=/media/rdbackup
function Continue {
read -a RESP -p "Continue (y/N) "
echo
if [ -z $RESP ] ; then
exit 0
fi
if [ $RESP != "y" -a $RESP != "Y" ] ; then
exit 0
fi
}
#
# Calculate date/time string
#
DATE_STAMP=`date +%Y%m%d%H%M%S`
#
# Warning Messages
#
echo "This process will backup the Rivendell system to external media."
echo
echo "WARNING: This will completely destroy any data on the external media!"
echo
Continue
echo "Please verify that the external drive is connected before continuing."
echo
Continue
#
# Setup environment
#
echo -n "Preparing backup device..."
sleep 5
mkdir -p $BACKUP_MOUNT_POINT
mount $BACKUP_DEVICE $BACKUP_MOUNT_POINT
mkdir -p $BACKUP_MOUNT_POINT/
rm -f $BACKUP_MOUNT_POINT/*.sql
mkdir -p $BACKUP_MOUNT_POINT/snd
echo "done."
#
# Backup Database
#
echo -n "Backing up database..."
mysqldump -h $MYSQL_HOSTNAME -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DBNAME > $BACKUP_MOUNT_POINT/db-$DATE_STAMP.sql
ln -s db-$DATE_STAMP.sql $BACKUP_MOUNT_POINT/db.sql
echo "done."
#
# Backup Audio
#
echo -n "Backup up audio..."
rsync -av --delete /var/snd/ $BACKUP_MOUNT_POINT/snd
echo "done."
#
# Clean Up
#
umount $BACKUP_MOUNT_POINT
rmdir $BACKUP_MOUNT_POINT
echo
echo "Backup complete!"
echo
exit 0

80
scripts/rd_config Executable file
View File

@@ -0,0 +1,80 @@
#!/bin/bash
# rd_config
#
# Manage Rivendell configurations.
#
# (C) Copyright 2004 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_config,v 1.4 2011/01/20 15:33:02 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Usage:
# rd_config master|standby
#
#
# Configuration and Paths
#
MAIN_CONF=/etc/rd.conf
MAIN_SND=/var/snd
MASTER_CONF=/etc/rd.conf.master
STANDBY_CONF=/etc/rd.conf.standby
MASTER_SND=/var/snd.master
STANDBY_SND=/var/snd.standby
INIT_SCRIPT=/etc/init.d/rivendell
RM=/bin/rm
LN=/bin/ln
case "$1" in
master)
$INIT_SCRIPT stop
if [ $? -ne 0 ] ; then
echo "rd_config: can't stop current config, aborting"
exit 1
fi
$RM -f $MAIN_CONF
$RM -f $MAIN_SND
$LN -s $MASTER_CONF $MAIN_CONF
$LN -s $MASTER_SND $MAIN_SND
$INIT_SCRIPT start
if [ $? -ne 0 ] ; then
echo "rd_config: can't start new config"
exit 2
fi
;;
standby)
$INIT_SCRIPT stop
if [ $? -ne 0 ] ; then
echo "rd_config: can't stop current config, aborting"
exit 1
fi
$RM -f $MAIN_CONF
$RM -f $MAIN_SND
$LN -s $STANDBY_CONF $MAIN_CONF
$LN -s $STANDBY_SND $MAIN_SND
$INIT_SCRIPT start
if [ $? -ne 0 ] ; then
echo "rd_config: can't start new config"
exit 2
fi
;;
esac
# End of rd_config

771
scripts/rd_create_db Executable file
View File

@@ -0,0 +1,771 @@
# create_db
#
# Create and initialize a new database for Rivendell.
#
# (C) Copyright 2002-2003 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_create_db,v 1.25 2007/02/14 21:59:12 fredg Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
# Site Configuration
#
#
# Rivendell mySQL Application Account
#
RD_USER=rduser@localhost
RD_PASSWORD=letmein
#
# Default Rivendell Administrator
#
RDA_LOGIN_NAME=admin
RDA_PASSWORD=
RDA_FULL_NAME="System Administrator"
RDA_DESCRIPTION="Default Administrator Account"
#
# Default Rivendell User
#
USER_LOGIN_NAME=user
USER_PASSWORD=
USER_FULL_NAME="Rivendell User"
USER_DESCRIPTION="Default User Account"
#
# Default Rivendell Service
#
RD_SVC_NAME="Production"
RD_SVC_DESC="Default Audio Service"
#
# Rivendell Audio Repository
#
RD_AUDIO_ROOT=/var/snd
# Nothing should need to be changed below here!
# ############################################################################
# ############################################################################
# Create a Rivendell Database
# ############################################################################
function CreateDB {
#
# Create the database
#
mysql -u $USER -p$PASSWORD -e"CREATE DATABASE IF NOT EXISTS Rivendell"
#
# Set Security Privledges
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON * TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create USERS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS USERS (
LOGIN_NAME CHAR(8) NOT NULL PRIMARY KEY,
FULL_NAME CHAR(64),
PHONE_NUMBER CHAR(20),
DESCRIPTION CHAR(255),
PASSWORD CHAR(32) NOT NULL,
ADMIN_USERS_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
ADMIN_CONFIG_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
CREATE_CARTS_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
DELETE_CARTS_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
MODIFY_CARTS_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
EDIT_AUDIO_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
ASSIGN_CART_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
CREATE_LOG_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
DELETE_LOG_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
PLAYOUT_LOG_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
ARRANGE_LOG_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
ADDTO_LOG_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
REMOVEFROM_LOG_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
EDIT_CATCHES_PRIV ENUM('N','Y') NOT NULL DEFAULT 'N',
INDEX FULL_NAME_IDX (FULL_NAME)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON USERS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create STATIONS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS STATIONS (
NAME CHAR(64) PRIMARY KEY NOT NULL,
DESCRIPTION CHAR(64),
USER_NAME CHAR(8),
DEFAULT_NAME CHAR(8),
INDEX DESCRIPTION_IDX (DESCRIPTION)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON STATIONS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create CART table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS CART (
NUMBER INT UNSIGNED NOT NULL PRIMARY KEY,
TYPE INT UNSIGNED NOT NULL,
GROUP_NAME CHAR(10) NOT NULL,
TITLE CHAR(255),
ARTIST CHAR(255),
ALBUM CHAR(255),
YEAR DATE,
ISRC CHAR(12),
LABEL CHAR(64),
CLIENT CHAR(64),
AGENCY CHAR(64),
USER_DEFINED CHAR(255),
FORCED_LENGTH INT UNSIGNED,
CUT_QUANTITY INT UNSIGNED,
LAST_CUT_PLAYED INT UNSIGNED,
PLAY_ORDER INT UNSIGNED,
START_DATETIME DATETIME,
END_DATETIME DATETIME,
ENFORCE_LENGTH ENUM('N','Y') DEFAULT 'N',
PRESERVE_PITCH ENUM('N','Y') DEFAULT 'N',
INDEX GROUP_NAME_IDX (GROUP_NAME),
INDEX TITLE_IDX (TITLE),
INDEX ARTIST_IDX (ARTIST),
INDEX ALBUM_IDX (ALBUM),
INDEX LABEL_IDX (LABEL),
INDEX CLIENT_IDX (CLIENT),
INDEX AGENCY_IDX (AGENCY),
INDEX USER_DEFINED_IDX (USER_DEFINED)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON CART TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create CUTS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS CUTS (
CUT_NAME CHAR(12) PRIMARY KEY NOT NULL,
CART_NUMBER INT UNSIGNED NOT NULL,
DESCRIPTION CHAR(64),
OUTCUE CHAR(64),
LENGTH INT UNSIGNED,
ORIGIN_DATETIME DATETIME DEFAULT '0/0/0000 24:00:00',
START_DATETIME DATETIME DEFAULT '0/0/0000 24:00:00',
END_DATETIME DATETIME DEFAULT '0/0/0000 24:00:00',
START_DAYPART TIME DEFAULT '24:00:00',
END_DAYPART TIME DEFAULT '24:00:00',
ORIGIN_NAME CHAR(64),
WEIGHT INT UNSIGNED DEFAULT 1,
LAST_PLAY_DATETIME DATETIME,
PLAY_COUNTER INT UNSIGNED DEFAULT 0,
CODING_FORMAT INT UNSIGNED,
SAMPLE_RATE INT UNSIGNED,
BIT_RATE INT UNSIGNED,
CHANNELS INT UNSIGNED,
PLAY_GAIN INT DEFAULT 0,
START_POINT INT DEFAULT -1,
END_POINT INT DEFAULT -1,
FADEUP_POINT INT DEFAULT -1,
FADEDOWN_POINT INT DEFAULT -1,
SEGUE_START_POINT INT DEFAULT -1,
SEGUE_END_POINT INT DEFAULT -1,
HOOK_START_POINT INT DEFAULT -1,
HOOK_END_POINT INT DEFAULT -1,
TALK_START_POINT INT DEFAULT -1,
TALK_END_POINT INT DEFAULT -1,
INDEX CART_NUMBER_IDX (CART_NUMBER),
INDEX DESCRIPTION_IDX (DESCRIPTION),
INDEX OUTCUE_IDX (OUTCUE),
INDEX ORIGIN_DATETIME_IDX (ORIGIN_DATETIME),
INDEX START_DATETIME_IDX (START_DATETIME),
INDEX END_DATETIME_IDX (END_DATETIME)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON CUTS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create CLIPBOARD table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS CLIPBOARD (
CUT_NAME CHAR(12) PRIMARY KEY NOT NULL,
CART_NUMBER INT UNSIGNED NOT NULL,
DESCRIPTION CHAR(64),
OUTCUE CHAR(64),
LENGTH INT UNSIGNED,
ORIGIN_DATETIME DATETIME,
ORIGIN_NAME CHAR(64),
WEIGHT INT UNSIGNED DEFAULT 1,
LAST_PLAY_DATETIME DATETIME,
PLAY_COUNTER INT UNSIGNED DEFAULT 0,
CODING_FORMAT INT UNSIGNED,
SAMPLE_RATE INT UNSIGNED,
BIT_RATE INT UNSIGNED,
CHANNELS INT UNSIGNED,
PLAY_GAIN INT DEFAULT 0,
START_POINT INT DEFAULT -1,
END_POINT INT DEFAULT -1,
FADEUP_POINT INT DEFAULT -1,
FADEDOWN_POINT INT DEFAULT -1,
SEGUE_START_POINT INT DEFAULT -1,
SEGUE_END_POINT INT DEFAULT -1,
HOOK_START_POINT INT DEFAULT -1,
HOOK_END_POINT INT DEFAULT -1,
TALK_START_POINT INT DEFAULT -1,
TALK_END_POINT INT DEFAULT -1,
INDEX CART_NUMBER_IDX (CART_NUMBER),
INDEX DESCRIPTION_IDX (DESCRIPTION),
INDEX OUTCUE_IDX (OUTCUE)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON CLIPBOARD TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create SERVICES table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS SERVICES (
NAME CHAR(10) NOT NULL PRIMARY KEY,
DESCRIPTION CHAR(255)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON SERVICES TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create GROUPS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS GROUPS (
NAME CHAR(10) NOT NULL PRIMARY KEY,
DESCRIPTION CHAR(255)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON GROUPS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create AUDIO_PERMS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS AUDIO_PERMS (
ID INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
GROUP_NAME CHAR(10),
SERVICE_NAME CHAR(10),
INDEX GROUP_IDX (GROUP_NAME),
INDEX SERVICE_IDX (SERVICE_NAME)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON AUDIO_PERMS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create RDLIBRARY table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS RDLIBRARY (
ID INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
STATION CHAR(40) NOT NULL,
INSTANCE INT UNSIGNED NOT NULL,
INPUT_CARD INT DEFAULT -1,
INPUT_STREAM INT DEFAULT -1,
INPUT_PORT INT DEFAULT -1,
INPUT_TYPE ENUM('A','D') DEFAULT 'A',
OUTPUT_CARD INT DEFAULT -1,
OUTPUT_STREAM INT DEFAULT -1,
OUTPUT_PORT INT DEFAULT -1,
VOX_THRESHOLD INT DEFAULT -5000,
TRIM_THRESHOLD INT DEFAULT -3000,
RECORD_GPI INT DEFAULT -1,
PLAY_GPI INT DEFAULT -1,
STOP_GPI INT DEFAULT -1,
DEFAULT_FORMAT INT UNSIGNED DEFAULT 0,
DEFAULT_CHANNELS INT UNSIGNED DEFAULT 2,
DEFAULT_SAMPRATE INT UNSIGNED DEFAULT 44100,
DEFAULT_LAYER INT UNSIGNED DEFAULT 0,
DEFAULT_BITRATE INT UNSIGNED DEFAULT 0,
DEFAULT_RECORD_MODE INT UNSIGNED DEFAULT 0,
DEFAULT_TRIM_STATE ENUM('N','Y') DEFAULT 'N',
MAXLENGTH INT,
TAIL_PREROLL INT UNSIGNED DEFAULT 1500,
RIPPER_DEVICE CHAR(64) DEFAULT \"/dev/cdrom\",
PARANOIA_LEVEL INT DEFAULT 0,
RIPPER_LEVEL INT DEFAULT 0,
CDDB_SERVER CHAR(64) DEFAULT \"freedb.freedb.org\",
INDEX STATION_IDX (STATION,INSTANCE)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON RDLIBRARY TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create TRIGGERS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS TRIGGERS (
ID INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
CUT_NAME CHAR(12),
TRIGGER_CODE INT UNSIGNED,
OFFSET INT UNSIGNED,
INDEX CUT_NAME_IDX (CUT_NAME)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON TRIGGERS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create TTYS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS TTYS (
ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
PORT_ID INT UNSIGNED NOT NULL,
ACTIVE ENUM('N','Y') NOT NULL DEFAULT 'N',
STATION_NAME CHAR(64) NOT NULL,
PORT CHAR(20),
BAUD_RATE INT DEFAULT 9600,
DATA_BITS INT DEFAULT 8,
STOP_BITS INT DEFAULT 1,
PARITY INT DEFAULT 0,
TERMINATION INT DEFAULT 0,
INDEX STATION_NAME_IDX (STATION_NAME),
INDEX ACTIVE_IDX (ACTIVE),
INDEX PORT_ID_IDX (PORT_ID)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON TTYS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create DECKS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS DECKS (
ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
STATION_NAME CHAR(64) NOT NULL,
CHANNEL INT UNSIGNED NOT NULL,
CARD_NUMBER INT DEFAULT -1,
STREAM_NUMBER INT DEFAULT -1,
PORT_NUMBER INT DEFAULT -1,
PORT_TYPE ENUM('A','D') DEFAULT 'A',
DEFAULT_FORMAT INT DEFAULT 0,
DEFAULT_CHANNELS INT DEFAULT 2,
DEFAULT_SAMPRATE INT DEFAULT 44100,
DEFAULT_BITRATE INT DEFAULT 0,
DEFAULT_THRESHOLD INT DEFAULT 0,
SWITCH_TYPE INT DEFAULT 0,
TTY_ID INT,
INDEX STATION_NAME_IDX (STATION_NAME),
INDEX CHANNEL_IDX (CHANNEL)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON DECKS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create SOURCES table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS SOURCES (
ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
STATION_NAME CHAR(64) NOT NULL,
CHANNEL INT UNSIGNED NOT NULL,
SOURCE_NAME CHAR(64) NOT NULL,
SERIAL_COMMAND CHAR(64),
GPO_LINE INT UNSIGNED,
INDEX STATION_NAME_IDX (STATION_NAME),
INDEX CHANNEL_IDX (CHANNEL),
INDEX SOURCE_NAME_IDX (SOURCE_NAME)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON SOURCES TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create RECORDINGS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS RECORDINGS (
ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
STATION_NAME CHAR(64) NOT NULL,
CHANNEL INT UNSIGNED NOT NULL,
CUT_NAME CHAR(12) NOT NULL,
SUN ENUM('N','Y') DEFAULT 'N',
MON ENUM('N','Y') DEFAULT 'N',
TUE ENUM('N','Y') DEFAULT 'N',
WED ENUM('N','Y') DEFAULT 'N',
THU ENUM('N','Y') DEFAULT 'N',
FRI ENUM('N','Y') DEFAULT 'N',
SAT ENUM('N','Y') DEFAULT 'N',
SOURCE_NAME CHAR(64),
DESCRIPTION CHAR(64),
START_TIME TIME,
LENGTH INT UNSIGNED,
START_GPI INT DEFAULT -1,
END_GPI INT DEFAULT -1,
TRIM_THRESHOLD INT UNSIGNED,
STARTDATE_OFFSET INT UNSIGNED DEFAULT 0,
ENDDATE_OFFSET INT UNSIGNED DEFAULT 0,
FORMAT INT DEFAULT 0,
CHANNELS INT DEFAULT 2,
SAMPRATE INT DEFAULT 44100,
BITRATE INT DEFAULT 0,
INDEX STATION_NAME_IDX (STATION_NAME),
INDEX CHANNEL_IDX (CHANNEL),
INDEX CUT_NAME_IDX (CUT_NAME),
INDEX SOURCE_NAME_IDX (SOURCE_NAME),
INDEX SUN_IDX (SUN),
INDEX MON_IDX (MON),
INDEX TUE_IDX (TUE),
INDEX WED_IDX (WED),
INDEX THU_IDX (THU),
INDEX FRI_IDX (FRI),
INDEX SAT_IDX (SAT)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON RECORDINGS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create AUDIO_PORTS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS AUDIO_PORTS (
ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
STATION_NAME CHAR(64) NOT NULL,
CARD_NUMBER INT NOT NULL,
CLOCK_SOURCE INT DEFAULT 0,
INPUT_0_LEVEL INT DEFAULT 0,
INPUT_0_TYPE INT DEFAULT 0,
INPUT_1_LEVEL INT DEFAULT 0,
INPUT_1_TYPE INT DEFAULT 0,
INPUT_2_LEVEL INT DEFAULT 0,
INPUT_2_TYPE INT DEFAULT 0,
INPUT_3_LEVEL INT DEFAULT 0,
INPUT_3_TYPE INT DEFAULT 0,
INPUT_4_LEVEL INT DEFAULT 0,
INPUT_4_TYPE INT DEFAULT 0,
INPUT_5_LEVEL INT DEFAULT 0,
INPUT_5_TYPE INT DEFAULT 0,
INPUT_6_LEVEL INT DEFAULT 0,
INPUT_6_TYPE INT DEFAULT 0,
INPUT_7_LEVEL INT DEFAULT 0,
INPUT_7_TYPE INT DEFAULT 0,
OUTPUT_0_LEVEL INT DEFAULT 0,
OUTPUT_1_LEVEL INT DEFAULT 0,
OUTPUT_2_LEVEL INT DEFAULT 0,
OUTPUT_3_LEVEL INT DEFAULT 0,
OUTPUT_4_LEVEL INT DEFAULT 0,
OUTPUT_5_LEVEL INT DEFAULT 0,
OUTPUT_6_LEVEL INT DEFAULT 0,
OUTPUT_7_LEVEL INT DEFAULT 0,
INDEX STATION_NAME_IDX (STATION_NAME),
INDEX CARD_NUMBER_IDX (CARD_NUMBER)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON AUDIO_PORTS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
#
# Create LOGS table
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS LOGS (
NAME CHAR(64) NOT NULL PRIMARY KEY,
SERVICE CHAR(10) NOT NULL,
DESCRIPTION CHAR(64),
ORIGIN_USER CHAR(8) NOT NULL,
ORIGIN_DATETIME DATETIME NOT NULL,
START_DATE DATE NOT NULL,
END_DATE DATE NOT NULL,
INDEX SERVICE_IDX (SERVICE),
INDEX DESCRIPTION_IDX (DESCRIPTION),
INDEX ORIGIN_USER_IDX (ORIGIN_USER),
INDEX START_DATE_IDX (START_DATE),
INDEX END_DATE_IDX (END_DATE)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON LOGS TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
}
# ############################################################################
# ############################################################################
# Initialize a Rivendell Database
# ############################################################################
function InitDB {
#
# Create Default Admin Account
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO USERS (LOGIN_NAME,PASSWORD,FULL_NAME,DESCRIPTION,ADMIN_USERS_PRIV,ADMIN_CONFIG_PRIV)
VALUES (\"$RDA_LOGIN_NAME\",PASSWORD(\"$RDA_PASSWORD\"),\"$RDA_FULL_NAME\",\"$RDA_DESCRIPTION\",'Y','Y')"
#
# Create Default User Account
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO USERS (LOGIN_NAME,PASSWORD,FULL_NAME,DESCRIPTION,
CREATE_CARTS_PRIV,DELETE_CARTS_PRIV,MODIFY_CARTS_PRIV,
EDIT_AUDIO_PRIV,ASSIGN_CART_PRIV,CREATE_LOG_PRIV,
DELETE_LOG_PRIV,PLAYOUT_LOG_PRIV,ARRANGE_LOG_PRIV,
ADDTO_LOG_PRIV,REMOVEFROM_LOG_PRIV,EDIT_CATCHES_PRIV)
VALUES (\"$USER_LOGIN_NAME\",PASSWORD(\"$USER_PASSWORD\"),\"$USER_FULL_NAME\",\"$USER_DESCRIPTION\",
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')"
#
# Create Default Workstation
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO STATIONS (NAME,DESCRIPTION,USER_NAME,DEFAULT_NAME)
VALUES (\"DEFAULT\",\"Default Workstation\",
\"$USER_LOGIN_NAME\",\"$USER_LOGIN_NAME\")"
#
# Create Test Tone Cart
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO CART(TYPE,NUMBER,GROUP_NAME,TITLE,ARTIST,CUT_QUANTITY,
FORCED_LENGTH)
VALUES (1,999999,\"TEST\",\"Test Tone\",\"Salem Radio Labs\",1,10000)"
#
# Create Default Audio Cut
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO CUTS SET CUT_NAME=\"999999_000\",CART_NUMBER=999999,
DESCRIPTION=\"1 kHz at Reference Level [-16 dBFS]\",
OUTCUE=\"[tone]\",CODING_FORMAT=0,
SAMPLE_RATE=44100,BIT_RATE=0,
CHANNELS=2,LENGTH=10000,START_POINT=0,END_POINT=10000,
ORIGIN_DATETIME=NOW(),ORIGIN_NAME=\"RDGen\""
#
# Create Clipboard Entry
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO CLIPBOARD SET CUT_NAME=\"clip\",CART_NUMBER=0,
DESCRIPTION=\"Default Clipboard\""
#
# Create Default Service
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO SERVICES (NAME,DESCRIPTION)
VALUES (\"$RD_SVC_NAME\",\"$RD_SVC_DESC\")"
#
# Create Default Groups
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO GROUPS (NAME,DESCRIPTION)
VALUES (\"TEMP\",\"Temporary Carts\")"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO GROUPS (NAME,DESCRIPTION)
VALUES (\"TEST\",\"Test Carts\")"
#
# Create Default Audio Permissions
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO AUDIO_PERMS (GROUP_NAME,SERVICE_NAME)
VALUES (\"TEMP\",\"Production\")"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO AUDIO_PERMS (GROUP_NAME,SERVICE_NAME)
VALUES (\"TEST\",\"Production\")"
#
# Create Default Library Configuration
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO RDLIBRARY (STATION,INSTANCE)
VALUES (\"0.0.0.0|0.0.0.0:0\",0)"
#
# Create Sample Log
#
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
CREATE TABLE IF NOT EXISTS SAMPLE_LOG (
ID INT NOT NULL PRIMARY KEY,
COUNT INT NOT NULL,
START_TIME TIME NOT NULL,
CART_NUMBER INT UNSIGNED NOT NULL,
TIME_TYPE INT NOT NULL,
TRANS_TYPE INT NOT NULL,
START_POINT INT NOT NULL DEFAULT -1,
END_POINT INT NOT NULL DEFAULT -1,
SEGUE_START_POINT INT NOT NULL DEFAULT -1,
SEGUE_END_POINT INT NOT NULL DEFAULT -1,
INDEX COUNT_IDX (COUNT),
INDEX CART_NUMBER_IDX (CART_NUMBER),
INDEX START_TIME_IDX (START_TIME)
)"
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
GRANT ALL ON SAMPLE_LOG TO $RD_USER IDENTIFIED BY \"$RD_PASSWORD\""
mysql -u $USER -p$PASSWORD -e"USE Rivendell;
INSERT INTO LOGS (NAME,SERVICE,DESCRIPTION,ORIGIN_USER,ORIGIN_DATETIME)
VALUES (\"SAMPLE\",\"Production\",\"Sample Log\",\"user\",NOW())"
}
# ############################################################################
# ############################################################################
# Generate Default Audio
# ############################################################################
function GenerateAudio {
if [ -d $RD_AUDIO_ROOT ] ; then
echo -n
else
mkdir $RD_AUDIO_ROOT
fi
rdgen -t 10 -l 16 $RD_AUDIO_ROOT/999999_000.wav
chown -R $SHELL_NAME: $RD_AUDIO_ROOT
}
# ############################################################################
# ############################################################################
# Upgrade a Rivendell Database
# ############################################################################
function UpgradeDB {
#
# Create the temporary database
#
mysql -u $USER -p$PASSWORD -e"CREATE DATABASE IF NOT EXISTS Rivendell_TEMP"
#
# Dump primary database to temporary
#
mysqldump -u $USER -p$PASSWORD --opt Rivendell \
| mysql -u $USER -p$PASSWORD -C Rivendell_TEMP
#
# Delete the primary database
#
mysql -u $USER -p$PASSWORD -e"DROP DATABASE Rivendell"
#
# Create Upgraded Rivendell Database
#
CreateDB
#
# Restore Data from temporary Database
#
mysqldump -u $USER -p$PASSWORD --opt Rivendell_TEMP \
| mysql -u $USER -p$PASSWORD -C Rivendell
#
# Delete the temporary database
#
mysql -u $USER -p$PASSWORD -e"DROP DATABASE Rivendell_TEMP"
}
# ############################################################################
# ############################################################################
# Main Routine
# ############################################################################
#
# Get the mySQL Administrator Login
#
read -p "mySQL account with Admin access []: " USER
if [ -z $USER ] ; then
echo "You must supply a mySQL administrator account name!"
exit 1
fi
read -s -p "mySQL Password: " PASSWORD
echo
#
# Get the shell account user and group names
#
read -p "User account name that will be running Rivendell []: " SHELL_NAME
echo
if [ -z $SHELL_NAME ] ; then
echo "You must supply a valid user account name!"
echo
exit 1
fi
#
# Check that mySQL is running and accessible
#
mysql -s -u $USER -p$PASSWORD -e"use mysql" 2> /dev/null
if [ $? -ne 0 ] ; then
echo
echo "*** Unable to connect to the mySQL server. ***"
echo "It's possible that the server is not currently running, or that"
echo "the name/password you've supplied are not correct. Please"
echo "correct the problem and try again."
echo
exit 1
fi
#
# Check for an existing Rivendell database
#
mysql -s -u $USER -p$PASSWORD -e"use Rivendell" 2> /dev/null
if [ $? -eq 0 ] ; then
echo
echo "*** A Rivendell database already exists! ***"
echo "You can:"
echo " 1) Overwrite it and create a new one."
echo " [WARNING: overwriting the database will COMPLETELY DESTROY"
echo " any existing data and audio!]"
echo
echo " 2) Upgrade the existing database."
echo
echo " 3) Exit this utility."
echo
read -p "Your choice [3]: " OVERWRITE
echo
case "$OVERWRITE" in
"1")
echo -n "Deleting old Rivendell database..."
mysql -s -u $USER -p$PASSWORD -e"drop database Rivendell"
echo "done."
echo -n "Deleting old audio data..."
rm $RD_AUDIO_ROOT/*
echo "done."
echo -n "Creating new Rivendell database..."
CreateDB
echo "done."
echo -n "Initializing new Rivendell database..."
InitDB
echo "done."
echo -n "Generating new audio data..."
GenerateAudio
echo "done."
echo
exit 0
;;
"2")
echo -n "Upgrading Rivendell database..."
UpgradeDB
echo "done."
echo
exit 0
;;
"3" | "")
echo "Database NOT overwritten or upgraded."
echo
exit 0
;;
esac
fi
# ############################################################################
# End of rd_create_db

37
scripts/rd_memmon.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/bin/sh
# rd_memmon.sh
#
# Display a top session showing Rivendell components
#
# (C) Copyright 2010 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_memmon.sh,v 1.2 2010/10/06 20:40:47 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
RIPCD_PID=`cat /var/run/rivendell/ripcd.pid`
CAED_PID=`cat /var/run/rivendell/caed.pid`
RDCATCHD_PID=`cat /var/run/rivendell/rdcatchd.pid`
if [ -z $1 ] ; then
top -p $RIPCD_PID,$CAED_PID,$RDCATCHD_PID
else
MODULE_PID=`ps -C $1 -o pid=`
top -p $RIPCD_PID,$CAED_PID,$RDCATCHD_PID,$MODULE_PID
fi
# End of rd_memmon.sh

52
scripts/rd_mysql_enable_host.sh Executable file
View File

@@ -0,0 +1,52 @@
#!/bin/sh
#
# rd_mysql_enable_host
#
# Enable a remote host in MySQL
#
# (C) Copyright 2011 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_mysql_enable_host.sh,v 1.1 2011/05/11 21:52:57 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Usage:
# rd_mysql_enable_host <hostname>
#
#
# Site Defines
#
MYSQL=/usr/bin/mysql
MYSQL_ROOT_USER=root
MYSQL_ROOT_PASSWORD=
MYSQL_HOSTNAME=127.0.0.1
MYSQL_RIVENDELL_USER=rduser
MYSQL_RIVENDELL_PASSWORD=letmein
MYSQL_DBNAME=Rivendell
if [ -z $1 ] ; then
echo "rd_mysql_enable_host <hostname>"
exit 256
fi
if [ $MYSQL_ROOT_PASSWORD ] ; then
MYSQL_PASSWORD_CMD=-p$MYSQL_ROOT_PASSWORD
fi
echo "insert into user set Host=\"$1\",User=\"$MYSQL_RIVENDELL_USER\",Password=password(\"$MYSQL_RIVENDELL_PASSWORD\")" | $MYSQL -h $MYSQL_HOSTNAME -u $MYSQL_ROOT_USER $MYSQL_PASSWORD_CMD mysql
echo "insert into db set Host=\"$1\",Db=\"Rivendell\",User=\"$MYSQL_RIVENDELL_USER\",Select_priv=\"Y\",Insert_priv=\"Y\",Update_priv=\"Y\",Delete_priv=\"Y\",Create_priv=\"Y\",Drop_priv=\"Y\",References_priv=\"Y\",Index_priv=\"Y\",Alter_priv=\"Y\",Create_tmp_table_priv=\"Y\",Lock_tables_priv=\"Y\",Create_view_priv=\"Y\",Show_view_priv=\"Y\",Create_routine_priv=\"Y\",Alter_routine_priv=\"Y\",Execute_priv=\"Y\"" | $MYSQL -h $MYSQL_HOSTNAME -u $MYSQL_ROOT_USER $MYSQL_PASSWORD_CMD mysql
echo "flush privileges" | $MYSQL -h $MYSQL_HOSTNAME -u $MYSQL_ROOT_USER $MYSQL_PASSWORD_CMD mysql

100
scripts/rd_restore_system.sh Executable file
View File

@@ -0,0 +1,100 @@
#! /bin/bash
# rd_restore_system.sh
#
# Restore a complete Rivendell setup from removable media.
#
# (C) Copyright 2011 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rd_restore_system.sh,v 1.2 2011/05/23 11:22:48 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# This script is intended for use as a starting point for a site-specific
# backup routine. Administrators are strongly encouraged to customize it
# for their envirnment!
#
#
# Site Configuration
#
MYSQL_USERNAME=rduser
MYSQL_PASSWORD=letmein
MYSQL_HOSTNAME=127.0.0.1
MYSQL_DBNAME=Rivendell
BACKUP_DEVICE=/dev/sdb1
BACKUP_MOUNT_POINT=/media/rdbackup
function Continue {
read -a RESP -p "Continue (y/N) "
echo
if [ -z $RESP ] ; then
exit 0
fi
if [ $RESP != "y" -a $RESP != "Y" ] ; then
exit 0
fi
}
#
# Warning Messages
#
echo "This process will restore the Rivendell system from external media."
echo
echo "WARNING: This will COMPLETELY OVERWRITE the data on the Rivendell system!"
echo
Continue
echo "Please verify that the external drive is connected before continuing."
echo
Continue
#
# Setup environment
#
echo -n "Preparing backup device..."
sleep 5
mkdir -p $BACKUP_MOUNT_POINT
mount $BACKUP_DEVICE $BACKUP_MOUNT_POINT
mkdir -p $BACKUP_MOUNT_POINT/
echo "done."
#
# Restore Database
#
echo -n "Restoring database..."
echo "drop database $MYSQL_DBNAME" | mysql -h $MYSQL_HOSTNAME -u $MYSQL_USERNAME -p$MYSQL_PASSWORD
echo "create database $MYSQL_DBNAME" | mysql -h $MYSQL_HOSTNAME -u $MYSQL_USERNAME -p$MYSQL_PASSWORD
cat $BACKUP_MOUNT_POINT/db.sql | mysql -h $MYSQL_HOSTNAME -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DBNAME
echo "done."
#
# Restore Audio
#
echo -n "Restoring audio..."
rsync -av --delete $BACKUP_MOUNT_POINT/snd/ /var/snd
echo "done."
#
# Clean Up
#
umount $BACKUP_MOUNT_POINT
rmdir $BACKUP_MOUNT_POINT
/etc/init.d/rivendell restart
echo
echo "Restore complete!"
echo
exit 0

80
scripts/rdmemcheck.sh Executable file
View File

@@ -0,0 +1,80 @@
#!/bin/sh
# rdmemcheck.sh
#
# Script for monitoring Rivendell memory usage.
#
# (C) Copyright 2010 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: rdmemcheck.sh,v 1.1 2010/12/21 17:28:43 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
USAGE="rdmemcheck.sh <module>"
if [ -z $1 ] ; then
echo $USAGE
exit 256;
fi
MODULE=$1
#
# Datestamp
#
echo `date +"%m-%d-%Y %H:%M:%S"` $LOGFILE
#
# Module
#
echo -n "$MODULE -" $LOGFILE
echo -n " vsz:"
echo -n `ps --no-headers -C $MODULE -o vsz`
echo -n " rss:"
echo -n `ps --no-headers -C $MODULE -o rss`
echo
#
# rdcatchd(8)
#
echo -n "rdcatchd -" $LOGFILE
echo -n " vsz:"
echo -n `ps --no-headers -C rdcatchd -o vsz`
echo -n " rss:"
echo -n `ps --no-headers -C rdcatchd -o rss`
echo
#
# ripcd(8)
#
echo -n "ripcd -" $LOGFILE
echo -n " vsz:"
echo -n `ps --no-headers -C ripcd -o vsz`
echo -n " rss:"
echo -n `ps --no-headers -C ripcd -o rss`
echo
#
# caed(8)
#
echo -n "caed -" $LOGFILE
echo -n " vsz:"
echo -n `ps --no-headers -C caed -o vsz`
echo -n " rss:"
echo -n `ps --no-headers -C caed -o rss`
echo
echo
#echo $MODULE: $PID

47
scripts/sage_endec_rwt.sh Executable file
View File

@@ -0,0 +1,47 @@
#!/bin/sh
# sage_endec_rwt.sh
#
# Run a Required Weekly Test on a Sage Digital ENDEC
#
# (C) Copyright 2012 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: sage_endec_rwt.sh,v 1.1.2.1 2012/10/11 19:16:27 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
USAGE="sage_endec_rwt.sh <ip-addr> <web-user> <web-password>"
if [ -z $1 ] ; then
echo $USAGE
exit 256
fi
if [ -z $2 ] ; then
echo $USAGE
exit 256
fi
if [ -z $3 ] ; then
echo $USAGE
exit 256
fi
HOSTNAME=$1
USERNAME=$2
PASSWORD=$3
curl --anyauth --user $USERNAME:$PASSWORD --data rwt=1\&handle=1 http://$HOSTNAME/cgi-bin/pend.cgi
# End of sage_endec_rwt.sh

26
scripts/start-rdmonitor.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/sh
## start-rdmonitor.sh
##
## Start the Rivendell RDMonitor applet
##
## (C) Copyright 2012 Fred Gleason <fredg@paravelsystems.com>
##
## $Id: start-rdmonitor.sh,v 1.1.2.1 2012/10/20 00:24:46 cvs Exp $
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of version 2 of the GNU General Public License as
## published by the Free Software Foundation;
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330,
## Boston, MA 02111-1307 USA
##
rdmonitor &

36
scripts/start_rd Executable file
View File

@@ -0,0 +1,36 @@
# start_rd
#
# Start up the Rivendell system daemons
#
# (C) Copyright 2003 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: start_rd,v 1.5 2007/02/14 21:59:12 fredg Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
BIN_PATH=/usr/local/bin
echo "Starting Rivendell daemons"
#
# Start Rivendell Daemons
#
$BIN_PATH/caed
$BIN_PATH/ripcd
$BIN_PATH/rdcatchd
# End of start_rd

40
scripts/start_traverso.sh Executable file
View File

@@ -0,0 +1,40 @@
#!/bin/sh
# start_traverso.sh <wav-path>
#
# Load an audio file into the traverso audio DAW using OSC.
# If traverso is not already running, it is first started.
#
# (C) Copyright 2008 Fred Gleason <fredg@paravelsystems.com>
#
# $Id: start_traverso.sh,v 1.3 2010/07/29 19:32:38 cvs Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
if [ -z $1 ] ; then
echo "start_traverso.sh <wav-path>"
exit 256
fi
PS_RESULT=`ps --no-header -C traverso -o fname`
if [ -z $PS_RESULT ] ; then
traverso > /dev/null 2> /dev/null &
sleep 2
fi
oscsend --path=/traverso/transport/insert_track --value=S:$1
# End of start_traverso.sh