mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-03-16 04:51:42 -04:00
Noticed the init script was looking for a zm_update, which doesn't exist. My best guess is that this should be changed to zmupdate.pl. This causes zoneminder to reload its configuration from the database prior to startup. Thoughts?
121 lines
2.4 KiB
Bash
Executable File
121 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# description: ZoneMinder is the top Linux video camera security and surveillance solution. ZoneMinder is intended for use in single or multi-camera video security applications.Copyright: Philip Coombes, Corey DeLasaux 2003-2008
|
|
# chkconfig: 2345 99 00
|
|
# processname: zmpkg.pl
|
|
|
|
# Source function library.
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
prog=ZoneMinder
|
|
ZM_CONFIG="@ZM_CONFIG@"
|
|
pidfile="@ZM_RUNDIR@"
|
|
LOCKFILE=/var/lock/subsys/zm
|
|
|
|
loadconf()
|
|
{
|
|
if [ -f $ZM_CONFIG ]; then
|
|
. $ZM_CONFIG
|
|
else
|
|
echo "ERROR: $ZM_CONFIG not found."
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
loadconf
|
|
command="$ZM_PATH_BIN/zmpkg.pl"
|
|
|
|
start()
|
|
{
|
|
zmupdate || return $?
|
|
loadconf || return $?
|
|
#Make sure the directory for our PID folder exists or create one.
|
|
[ ! -d $pidfile ] \
|
|
&& mkdir -m 774 $pidfile \
|
|
&& chown $ZM_WEB_USER:$ZM_WEB_GROUP $pidfile
|
|
#Make sure the folder for the socks file exists or create one
|
|
GetPath="select Value from Config where Name='ZM_PATH_SOCKS'"
|
|
dbHost=`echo $ZM_DB_HOST | cut -d: -f1`
|
|
dbPort=`echo $ZM_DB_HOST | cut -d: -s -f2`
|
|
if [ "$dbPort" = "" ]
|
|
then
|
|
ZM_PATH_SOCK=`echo $GetPath | mysql -B -h$ZM_DB_HOST -u$ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME | grep -v '^Value'`
|
|
else
|
|
ZM_PATH_SOCK=`echo $GetPath | mysql -B -h$dbHost -P$dbPort -u$ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME | grep -v '^Value'`
|
|
fi
|
|
[ ! -d $ZM_PATH_SOCK ] \
|
|
&& mkdir -m 774 $ZM_PATH_SOCK \
|
|
&& chown $ZM_WEB_USER:$ZM_WEB_GROUP $ZM_PATH_SOCK
|
|
echo -n $"Starting $prog: "
|
|
$command start
|
|
RETVAL=$?
|
|
[ $RETVAL = 0 ] && success || failure
|
|
echo
|
|
[ $RETVAL = 0 ] && touch $LOCKFILE
|
|
return $RETVAL
|
|
}
|
|
|
|
stop()
|
|
{
|
|
loadconf
|
|
echo -n $"Stopping $prog: "
|
|
$command stop
|
|
RETVAL=$?
|
|
[ $RETVAL = 0 ] && success || failure
|
|
echo
|
|
[ $RETVAL = 0 ] && rm -f $LOCKFILE
|
|
}
|
|
|
|
zmstatus()
|
|
{
|
|
loadconf
|
|
result=`$command status`
|
|
if [ "$result" = "running" ]; then
|
|
echo "ZoneMinder is running"
|
|
$ZM_PATH_BIN/zmu -l
|
|
RETVAL=0
|
|
else
|
|
echo "ZoneMinder is stopped"
|
|
RETVAL=1
|
|
fi
|
|
}
|
|
|
|
zmupdate()
|
|
{
|
|
if [ -x $ZM_PATH_BIN/zmupdate.pl ]; then
|
|
$ZM_PATH_BIN/zmupdate.pl -f
|
|
fi
|
|
}
|
|
|
|
|
|
case "$1" in
|
|
'start')
|
|
start
|
|
;;
|
|
'stop')
|
|
stop
|
|
;;
|
|
'restart')
|
|
stop
|
|
start
|
|
;;
|
|
'condrestart')
|
|
loadconf
|
|
result=`$ZM_PATH_BIN/zmdc.pl check`
|
|
if [ "$result" = "running" ]; then
|
|
$ZM_PATH_BIN/zmdc.pl shutdown > /dev/null
|
|
rm -f $LOCKFILE
|
|
start
|
|
fi
|
|
;;
|
|
'status')
|
|
status httpd
|
|
status mysqld
|
|
zmstatus
|
|
;;
|
|
*)
|
|
echo "Usage: $0 { start | stop | restart | condrestart | status }"
|
|
RETVAL=1
|
|
;;
|
|
esac
|
|
exit $RETVAL
|