Wizjos ik heb het helaas nog niet voor mekaar, maar ik ben dan ook geen Linux deskundige.
Geef svp aan of opmerkingen, als ik het niet juist heb.
De stand tot nu toe:
Ik kan op de commandline Squeezecenter starten met de volgende code:
sh /volume1/SSODS/etc/init.d/S80slimserver start
En stoppen met:
sh /volume1/SSODS/etc/init.d/S80slimserver stop
(Nb de extensie .sh moet achterwege gelaten worden)
Volgens FlipFlip wordt SSODS geleverd met een crond die default gedisabled is.
Ik zie in /volume1/SSODS/etc/init.d een file genaamd: "cron.d" staan, en daar nu niets in.
Er schijnt een cron start/stop script te zijn in /volume1/SSODS/etc/init.d
Ik zie daarin een file staan genaamd "cron" .
Met de volgende code:
#!/volume1/SSODS/bin/bash
[ -z ${SSODSDIR} ] && . /volume1/SSODS/etc/ssods/ssods.conf
[ -z ${SSD} ] && SSD=${SSODSDIR}/sbin/start-stop-daemon
case "$1" in
start)
# FIXME: only rotate log if not running
echo -n "Rotating log file .. "
lb=${SSODSDIR}/var/log/cron.log
[ -f ${lb}.8 ] && cp ${lb}.8 ${lb}.9
[ -f ${lb}.7 ] && cp ${lb}.7 ${lb}.8
[ -f ${lb}.6 ] && cp ${lb}.6 ${lb}.7
[ -f ${lb}.5 ] && cp ${lb}.5 ${lb}.6
[ -f ${lb}.4 ] && cp ${lb}.4 ${lb}.5
[ -f ${lb}.3 ] && cp ${lb}.3 ${lb}.4
[ -f ${lb}.2 ] && cp ${lb}.2 ${lb}.3
[ -f ${lb}.1 ] && cp ${lb}.1 ${lb}.2
[ -f ${lb}.0 ] && cp ${lb}.0 ${lb}.1
[ -f ${lb} ] && cp ${lb} ${lb}.0
echo -n > ${lb}
echo "done."
[ -f ${SSODSDIR}/var/run/crond.reboot ] &&
rm -f ${SSODSDIR}/var/run/crond.reboot
echo -n "Starting cron .. "
$SSD --start --pidfile ${SSODSDIR}/var/run/crond.pid
--name cron --startas ${SSODSDIR}/sbin/cron && echo "OK"
;;
stop)
echo -n "Stopping cron .. "
$SSD --stop --pidfile ${SSODSDIR}/var/run/crond.pid
--name cron && echo "OK"
;;
esac
#eof
Ik zou de cron start/stop script moeten linken aan S??cron zodat cron gestart wordt met SSODS, wat op zich logisch lijkt omdat in het begin gemeld werd dat cron default gedisabled was.
Het cron-programma in SSODS dient gestart te zijn om een cronjob (crontabs?) te kunnen uitvoeren.
Maar ja hoe moet ik dit linken?
Hiervoor wordt er verwezen naar thttpd-ssods (= de webinterface die gelijk gestart wordt met het starten van het programma ssods) en ik zou cron op dezelfde wijze moeten linken.
Maar dat gaat mij boven mijn pet.
In /volume1/SSODS/etc/init.d staat een file vermeld met de naam: thttpd-ssods
Deze heeft als code:
#!/volume1/SSODS/bin/bash
#
# $Id: thttpd-ssods,v 1.2 2008/05/19 21:27:39 flip Exp flip $
#
# Copyright (c) 2006--2008 Philippe Kehl <flipflip at gmx dot net>
#
# 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.
#
# See the documentation for details and copying conditions.
#
[ -z ${SSODSDIR} ] && . /volume1/SSODS/etc/ssods/ssods.conf
[ -z ${SSD} ] && SSD=${SSODSDIR}/sbin/start-stop-daemon
case "$1" in
start)
PID=`cat ${SSODSDIR}/var/run/thttpd-ssods.pid 2>/dev/null`
if [ -f /proc/$PID/status ]; then
echo "thttpd-ssods alreading running with PID $PID."
exit 1
fi
echo -n "Generating thttpd-ssods.conf .. "
cp ${SSODSDIR}/etc/thttpd-ssods.conf-template ${SSODSDIR}/etc/thttpd-ssods.conf
sed -i "s/%SSODSPORT%/${SSODSPORT}/" ${SSODSDIR}/etc/thttpd-ssods.conf
sed -i "s@%SSODSDIR%@${SSODSDIR}@" ${SSODSDIR}/etc/thttpd-ssods.conf
sed -i "s/%SSODSTHTTPDUSER%/${SSODSTHTTPDUSER}/" ${SSODSDIR}/etc/thttpd-ssods.conf
echo "done."
echo -n "Rotating log file .. "
lb=${SSODSDIR}/var/log/thttpd-ssods.log
[ -f ${lb}.8 ] && cp ${lb}.8 ${lb}.9
[ -f ${lb}.7 ] && cp ${lb}.7 ${lb}.8
[ -f ${lb}.6 ] && cp ${lb}.6 ${lb}.7
[ -f ${lb}.5 ] && cp ${lb}.5 ${lb}.6
[ -f ${lb}.4 ] && cp ${lb}.4 ${lb}.5
[ -f ${lb}.3 ] && cp ${lb}.3 ${lb}.4
[ -f ${lb}.2 ] && cp ${lb}.2 ${lb}.3
[ -f ${lb}.1 ] && cp ${lb}.1 ${lb}.2
[ -f ${lb}.0 ] && cp ${lb}.0 ${lb}.1
[ -f ${lb} ] && cp ${lb} ${lb}.0
echo -n > ${lb}
echo "done."
echo -n "Starting thttpd-ssods .. "
$SSD --start --pidfile ${SSODSDIR}/var/run/thttpd-ssods.pid
--name thttpd --startas ${SSODSDIR}/sbin/thttpd
-- -C ${SSODSDIR}/etc/thttpd-ssods.conf && echo "OK"
;;
stop)
echo -n "Stopping thttpd-ssods .. "
$SSD --stop --pidfile ${SSODSDIR}/var/run/thttpd-ssods.pid
--name thttpd && echo "OK"
;;
status)
PID=`cat ${SSODSDIR}/var/run/thttpd-ssods.pid 2>/dev/null`
if [ -f /proc/$PID/status ]; then
exit 0
else
exit 1
fi
;;
esac
#eof
Er wordt verwezen naar een manual waar alles in detail in beschreven zou zijn.
Dit blijkt een "standaard" manual te zijn over crontab.
Waarschijnlijk ten overvloede een link naar deze manual:
http://linux.die.net/man/5/crontabIn de crontab die ik wil gebruiken zal volgens mij het volgende dienen te staan om Squeezecenter om 2 uur 's nachts elke dag te laten stoppen en vervolgens om 8 uur 's morgens weer te starten:
0 2 * * * sh /volume1/SSODS/etc/init.d/S80slimserver start
0 8 * * * sh /volume1/SSODS/etc/init.d/S80slimserver stop
Maar waar en onder welke naam moet ik deze file opslaan? (in /volume1/SSODS/var/cron/crontabs ?)
Om dit te laten werken zal natuurlijk het cron-programma ook ge-enabled moeten zijn.
Kan je me misschien wat verder helpen.