Zeitgesteuerte Pakete

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Tim92

Benutzer
Registriert
29. Feb. 2012
Beiträge
83
Reaktionspunkte
1
Punkte
8
Hallo ich habe auf meiner DS713+ einen Minecraft und Teamspeak Server am laufen.
Dadurch geht die NAS ja nicht mehr in den Ruhezustand.
Meine frage ist jetzt ob es eine Möglichkeit gibt Pakete zeitgesteuert ein und auszuschalten damit in der Nacht die Server aus sind.
 
danke ich hab mir das ganze durchgelesen und gleich mal getestet
zur info ich habe dsm 4.2 installiert und jetzt zum testen verwende ich einen Craftbukkit server

unter Systemsteuerung - Aufgabenplaner habe ich ein benutzerdefiniertes Script erstellt und folgendes eingefügt

/var/packages/Craftbukkit/scripts/start-stop-status stop

als Benutzer habe ich root und den automatisch erstellen Craftbukkit getestet
außerdem habe ich start und stop probiert jedoch ändert es nichts am Paket
das bleibt immer im Ursprungszustand...
 
Schau mal auf der Konsole nach, ob das Paket auch wirklich so heißt, Groß/Kleinschreibung ist auch relevant.
 
screen-capture.jpg
so sieht das Verzeichnis aus ich denke nicht das ich mich verschrieben hab aber vermutlich mache ich irgend etwas anderes falsch

leider kenne ich mich mit linux nur teilweise aus
 
und wieso fährst du den Server über Nacht nicht einfach zeitgesteuerr runter und startest ihn wiederum zeitgesteuert am Morgen?
 
Hallo!

Ich habe es bisher weder originär im Cron als auch mit dem neuen Aufgabenplaner geschafft, ein sh script ohne vorangestelltes sh zu starten. Versuch das doch mal.
Ausserdem solltest du im script selbst immer absolute Pfade angeben.
 
das tritt eigentlicfh immer dann auf wenn das Script selber nicht als ausführbar markiert ist

Keine Ahnung. Hatte bisher immer alles mit einem chmod +x ausführbar gemacht, ging trotzdem nicht.
 
hm das sollte eigentlich reichen. Und die SheBang Zeile hast du im Script korrekt drin?
 
wie ist das mit dem absoluten pfad und sh gemeint?
einfach sh /.....?
über nacht herunterfahren geht nicht da in der nacht antivirus läuft und der server nur nachmittags bis ca 10 uhr laufen soll
 
hm das sollte eigentlich reichen. Und die SheBang Zeile hast du im Script korrekt drin?

Ich jetzt?
Also bei mir ist die drin, ja. Aber was ich gerade sehe, bei einem script was ich mir gerade angesehen habe, bin ich zumindest meinem eigenen Rat nicht gefolgt und habe ein echo ohne absoluten Pfad drin... :o

EDIT:
...und bei einem sogar ein #!/bin/bash statt #!/bin/sh
Junge junge, ich muß mal aufräumen, was!? :D
 
/root/var/packages/Craftbukkit/scripts/start-stop-status stop
 
außerdem habe ich start und stop probiert jedoch ändert es nichts am Paket
das bleibt immer im Ursprungszustand...

wird der Status immer gleich angezeigt oder hast per Prozessliste geschaut, ob der Minecraft-Server läuft bzw. nicht läuft? Es kann ja sein, dass einfach nur die Anzeige nicht gepflegt wird, wenn man es manuell macht.

Itari
 
also auch nach dem stop script kann ich auf dem server spielen
 
ich melde mich nochmal da ich es nicht hinbekomme..

meine start-stop-status.sh sieht so aus
#!/bin/sh

#--------MINECRAFT/CRAFTBUKKIT start-stop-status script
#--------package maintained at pcloadletter.co.uk

DAEMON_USER="`echo ${SYNOPKG_PKGNAME} | awk {'print tolower($_)'}`"
DAEMON_ID="${SYNOPKG_PKGNAME} daemon user"
ENGINE_SCRIPT="/var/packages/${SYNOPKG_PKGNAME}/scripts/launcher.sh"
DAEMON_USER_SHORT=`echo ${DAEMON_USER} | cut -c 1-8`

daemon_status ()
{
ps | grep "^ *[0-9]* ${DAEMON_USER_SHORT} .*java" > /dev/null
}

case $1 in
start)
DAEMON_HOME="`cat /etc/passwd | grep "${DAEMON_ID}" | cut -f6 -d':'`"

#set the current timezone for Java so that log timestamps are accurate
#we need to use the modern timezone names so that Java can figure out DST
SYNO_TZ=`cat /etc/synoinfo.conf | grep timezone | cut -f2 -d'"'`
SYNO_TZ=`grep "^${SYNO_TZ}" /usr/share/zoneinfo/Timezone/tzname | sed -e "s/^.*= //"`
grep "^export TZ" ${DAEMON_HOME}/.profile > /dev/null \
&& sed -i "s%^export TZ=.*$%export TZ='${SYNO_TZ}'%" ${DAEMON_HOME}/.profile \
|| echo export TZ=\'${SYNO_TZ}\' >> ${DAEMON_HOME}/.profile

su - ${DAEMON_USER} -s /bin/sh -c "${ENGINE_SCRIPT} start ${DAEMON_USER} ${SYNOPKG_PKGDEST} &"
exit 0
;;

stop)
su - ${DAEMON_USER} -s /bin/sh -c "${ENGINE_SCRIPT} stop ${DAEMON_USER} ${SYNOPKG_PKGDEST}"
exit 0
;;

status)
if daemon_status ; then
exit 0
else
exit 1
fi
;;

log)
echo "${SYNOPKG_PKGDEST}/server.log"
exit 0
;;
esac

der Pfad der Datei ist /var/packages/Craftbukkit/scripts/launcher.sh,CraftBukkit-launcher.sh
/var/packages/Craftbukkit/scripts/start-stop-status.sh

wie müsste dann das Start bzw Stop Script aussehen?
Ich verstehe das mit den Script leider absolut nicht.
Danke schonmal
 
Das Skript verwendet die ${SYNOPKG_...}-Variablen, die aber nicht gesetzt sind. Das ist generell problematisch, weil die auch bei einem Neustart der DS nicht passen.

Entweder Du setzt die vorher passend oder wendest Dich an den Entwickler.
 
lieg ich damit richtig das ich das ${SYNOPKG_PKGNAME} gegen den richtigen Namen überall im Script austauschen müsste in dem Fall Craftbukkit?
und wie müsste dann das Script für den aufgabenplaner im DSM aussehen?
 
damit kannst du den Server stopen
in die zeile des Zeitplaners eintragen
Rich (BBCode):
echo stop >> /tmp/stdin.craftbukkit

aber ich kriege ihn nicht mehr per cron ans laufen. Hatte es schon jemand geschaft den Bukkit Server per Cron an und aus zumachen?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat