Auteur Topic: Gevraagd cronjob starten/stoppen Squeezecenter!  (gelezen 7645 keer)

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Gevraagd cronjob starten/stoppen Squeezecenter!
« Gepost op: 12 maart 2009, 15:27:21 »
Squeezecenter is een zeer geliefde, veel gebruikte applicatie op de Synology, maar heeft als klein nadeel dat deze applicatie er ook voor zorgt dat de schijven vrijwel nooit in de hibernation-stand gaan. Over dit probleem is in verschillende fora zeer veel gepubliceerd, maar hiervoor is nog steeds geen ultieme oplossing gevonden. :cry:  
Zelf heb ik Squeezecenter 7.3.2-24695 geinstalleerd via SSODS Release 3.15 op een DS107+ Firmware versie DSM 2.1-0832.
Wanneer ik via SSODS Squeezecenter stop, dan gaat de Synology netjes na de ingestelde tijd in de hibernationstand (Led-status gaat dan tegenwoordig ook uit!).
Het opstarten van Squeezecenter duurt via SSODS ongeveer 5 minuten.

Nu kwam ik op het idee om het stoppen en starten van Squeecenter te gaan automatiseren via een cronjob. :wink:
De cronjob zal ervoor dienen te zorgen dat Squeecenter 's nachts gestopt wordt, en 's ochtends weer gestart.


Wie durft deze uitdaging aan? :mrgreen:
Ik vermoed dat vele Squeezecenter gebruikers hier baat bij hebben!

Squeezecenter is een applicatie geschreven in Perl. Info daarover:
http://www.slimdevices.com/pi_features.html
SSODS zal waarschijnlijk Linux of Perl zijn. Info daarover:
http://oinkzwurgl.org/ssods

Ps Ik ben zelf namelijk van mening dat mijn NAS gewoon altijd ready dient te zijn (ivm webserver, ftp, etc.), dus uitschakelen van de NAS is geen optie (Trouwens de 107+ kan niet automatisch weer ingeschakeld worden).
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 121
  • -Ontvangen: 179
  • Berichten: 1.984
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #1 Gepost op: 12 maart 2009, 18:54:41 »
Wowo,

Ik ben zelf niet in 't bezit hiervan, maar hoe start en stop je Sqeezecenter normaal?

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #2 Gepost op: 12 maart 2009, 19:09:27 »
Citaat van: "wizjos"
Wowo,

Ik ben zelf niet in 't bezit hiervan, maar hoe start en stop je Sqeezecenter normaal?

Wizjos
De applicatie SSODS zorgt ervoor dat Squeezecenter automatisch gestart wordt als je de Synology start.
Mbv SSODS die je via een browser kan benaderen, kan je Squeezecenter handmatig starten en stoppen.
In /volume1/SSODS staan de volgende directory's: bin; etc; lib; lib_eldk; libexec; sbin; share; var
Ik heb in de sbin directory gekeken en daar staat een file die genaamd is: start-stop-daemon
Maar als deze file met de vi-editor open, zie ik alleen "chinees".
Denk je dat het deze file is die de boel start en stopt?
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 121
  • -Ontvangen: 179
  • Berichten: 1.984
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #3 Gepost op: 12 maart 2009, 21:12:02 »
Wowo,

Als Squeezecenter automatisch start bij het starten van de Syno is de kans groot dat er in /usr/syno/etc.defaults/rc.d een S(getal)sqeezecenter.sh script staat waarmee 'ie gestart wordt... Klopt dit?

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #4 Gepost op: 12 maart 2009, 22:47:19 »
Helaas staat daar geen S(getal)sqeezecenter.sh
Ik zie wel S95sshd.sh staan maar die behoort tot de standaard Diskstation Firmware Services.
"S95sshd.starts an ssh daemon if supportssh is set to yes in /etc.defaults/synoinfo.conf "
Gaat wel over een daemon .............  Maar dit is een dood spoor denk ik.
In /volume1/SSODS/etc/ìnit.d zie ik "S80slimserver" staan.
Squeezecenter heette voorheen slimserver.
#!/bin/sh
#
# $Id: slimserver,v 1.2 2008/02/22 00:38:49 flip Exp flip $
#
# Copyright (c) 2006, 2007 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

case "$1" in
    start)
        # assert that auto start is enabled
if [ ! -f ${SSAUTOSTART} ]; then
   echo "Auto start is disabled, not starting ${SSNAME}."
else
        # start slimserver
   ${SSCTRL} start
fi
;;
    stop)
${SSCTRL} stop
;;

    status)
${SSCTRL} status
exit $?
;;

esac

# eof
Heb je hier wat aan, om een cronjob te kunnen maken??
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 121
  • -Ontvangen: 179
  • Berichten: 1.984
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #5 Gepost op: 13 maart 2009, 08:59:40 »
Wowo,

Als je met /volume1/SSODS/etc/ìnit.d/S80slimserver.sh Squeezecenter gestopt en gestart krijgt, dan wel... In je cronjob zou je dan kunnen opnemen als commando: 'sh /volume1/SSODS/etc/ìnit.d/S80slimserver.sh stop' (of start natuurlijk...).

Probeer eens wat 'ie zo op de commandline doet.

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #6 Gepost op: 13 maart 2009, 09:52:18 »
Bedankt voor je hulp, daar ga ik mee experimenteren vanavond.
Ik had ook "stiekem" een hengeltje uitgegooid op het forum van slimdevices (Squeezebox; Squeezecenter).
Daarop heb ik de volgende reactie gekregen van FlipFlip de maker van het programma SSODS:
"SSODS comes with a crond, which is disabled by default. There's an example crontab in /volume1/SSODS/etc and there's a cron start/stop script in /volume1/SSODS/etc/init.d. You would have to link that to S??cron so that cron is started with SSODS. See how e.g. thttpd-ssods is linked and link cron similarly. Pick any number for ??, e.g. S42cron should be fine.
Also remember that there are man pages in SSODS: the command "man 5 crontab" explains the system in detail. And there's a log file in /volume1/SSODS/var/log/cron.log

I use the crontab to make backups, download podcasts, update locate's database and other stuff. Works very well.

There's also a system crontab in /etc/crontab. This works, too, but might be reset when upgrading the firmware and as far as I know when changing certain settings in the DSM.
__________________
Check out flipflip's SlimServer On DiskStation (SSODS)!"

In ieder geval genoeg "huiswerk" voor mij om weer even bezig te zijn. :lol:
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 121
  • -Ontvangen: 179
  • Berichten: 1.984
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #7 Gepost op: 13 maart 2009, 10:08:34 »
Succes!

Mocht je nog hulp nodig hebben, dan lees ik het wel...

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #8 Gepost op: 14 maart 2009, 16:32:03 »
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 startEn 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/crontab
In 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.
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 121
  • -Ontvangen: 179
  • Berichten: 1.984
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #9 Gepost op: 14 maart 2009, 17:12:14 »
Wowo,

Eeeh, je kunt natuurlijk de cronjob-editor installeren :mrgreen:
Daar kan je zo die regels:
0 2 * * * sh /volume1/SSODS/etc/init.d/S80slimserver start
0 8 * * * sh /volume1/SSODS/etc/init.d/S80slimserver stop
in opslaan....

Volgens mij moet daarna alles als een zonnetje werken...

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: Gevraagd cronjob starten/stoppen Squeezecenter!
« Reactie #10 Gepost op: 14 maart 2009, 21:40:27 »
Tja waarom moeilijk doen als het makkelijk kan.
Ik ben op een verkeerd been gebracht door de laatste opmerking van FlipFlip:
There's also a system crontab in /etc/crontab. This works, too, but might be reset when upgrading the firmware and as far as I know when changing certain settings in the DSM.
Maar ja, het is veel eenvoudiger om een kopietje te maken van hetgeen je gemaakt hebt in /etc/crontab, dan de proberen de cronjob "binnen" het programma SSODS zelf te laten uitvoeren (want dat ging boven mijn pet)
De cronjobmanager werkte prima, en ik heb aldus de 2 cronjobs (starten en stoppen van Squeezecenter) ingevoerd.
Nu maar afwachten of vanacht/morgen alles werkt zoals ingesteld, maar daar ga ik eigenlijk vanuit.
Bedankt Wizjos voor deze elegante oplossing! :D

Overigens kreeg ik wel een foutmelding bij het saven van de cronjob:
Warning: Cannot modify header information - headers already sent by (output started at /usr/syno/synoman/phpsrc/cronjobs/setcron.php:1) in /usr/syno/synoman/phpsrc/cronjobs/setcron.php on line 178
Dit met de 2e versie van de oude cronjobmanager. Om weer helemaal bij te zijn wat betreft de beveiliging zal ik alles weer even gaan bijwerken en kijken of de foutmelding nog optreedt.

Groet Wowo
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB


 

Hulp gevraagd: pytonscript om filenames om te draaien (reverse rename).

Gestart door zakhooiBoard Synology DSM 5.1 en eerder

Reacties: 20
Gelezen: 13791
Laatste bericht 17 maart 2016, 21:52:32
door Hutje
Aankoop advies gevraagd

Gestart door losdinhosBoard Aankoopadvies

Reacties: 3
Gelezen: 1116
Laatste bericht 02 oktober 2018, 13:56:36
door losdinhos
Advies gevraagd aanschaf DS713+

Gestart door FerdinandBoard Aankoopadvies

Reacties: 12
Gelezen: 6349
Laatste bericht 24 juni 2013, 22:01:02
door Ferdinand
Testers gevraagd voor LMS 7.9.0 spk

Gestart door GrofwegBoard Logitech Media Server

Reacties: 44
Gelezen: 23090
Laatste bericht 17 september 2016, 18:07:47
door Grofweg
Gevraagd: Welke expert zou dit voor mij kunnen solderen?

Gestart door BirdyBoard The lounge

Reacties: 15
Gelezen: 5656
Laatste bericht 06 december 2013, 18:08:09
door Birdy