Problem: sc_trans zu bestimmten Zeiten

Status
Für weitere Antworten geschlossen.

WoodysWelt

Benutzer
Auch auf die Gefahr hin, dass ich mich (mal wieder) wie ein komplettter Idiot darstelle...

Auf dem Linux-Server (Serververwaltung Plesk 8) soll unter Benutzer "radio" im Verzeichnis "/home/radio/" (Benutzer und Zugriffe sind angelegt, wenn man sich mit User "radio" einloggt, landet man automatisch im Verzeichnis "/home/radio/") zu einer bestimmten Uhrzeit der sc_trans (als Playlist) gestoppt werden (das habe ich durch Cronjob "killall sc_trans" ganz simpel gemacht) und zu einer späteren bestimmten Zeit wieder starten. Dieses macht der Server über Cronjob als Benutzer "radio" ("~/sc_trans") nicht, und als Root will ich das nicht (verständlicherweise).

Steh ich mal wieder vor der sprichwörtlichen :wall: :confused:
Bei der Forensuche bzw. Google bin ich nicht wirklich schlau geworden...
Kann mir mal bitte jemand helfen? *liebguck
 
AW: Problem: sc_trans zu bestimmten Zeiten

Moin,
wie sieht denn der cronjob zum _starten_ des sc_trans aus?
 
AW: Problem: sc_trans zu bestimmten Zeiten

ich versteh grad das Problem nicht?
Du hast die Cronjobs angelegt? und die laufen nicht oder es klappt nicht oder was ist los?
 
AW: Problem: sc_trans zu bestimmten Zeiten

Zeit zum Umdenken:

  1. Du realisierst auf dem Server, dass eine Playlistdatei erzeugt wird.
  2. Du siehst jede Minute nach, ob diese Datei vorhanden ist.
  3. Wenn sie vorhanden ist, verschiebe sie und überschreibe die alte
  4. Und sage: killall -USR1 sc_trans <- Playlistdatei wird geladen

Das machst du mit einem Cronjob, der jede Minute ein PHP-Skriptausführt. Diese Sktript schaut jedes mal mit der aktuellen Uhrzeit in die Datenbank und versucht etwas zu finden. Eine Playliste. (hier kann man sich im Detail verfangen). Versuche sie nach Kalenderwoche, Wochentag, Stunde und Minute zu finden.

Das PHP-Skript erzeugt das Textfile, das Playlistfile auf dem Server. Aber mit einem temporären Dateinamen.


php $HOME/path/plsgenerator.php

if [ -f $HOME/path/trackit_temp.pls ]
then
mv $HOME/path/trackit_temp.pls $HOME/path/trackit.pls
killall -USR1 sc_trans
killall -WINCH sc_trans
fi

Verpackt in ein Bash-Skript erzeugt temporäres Playlistfile, verschiebt es und veranlasst den Shoutcast neu zu laden. Dieses Bash als Cronjob:

crontab -e

*/1 * * * * $HOME/path/sc_reload.sh



...Nachtrag....


Zu deinem Problem: verpacke das in ein Bash und mache cd bis zu dem directory, in dem der sc_trans liegt





Seek
 
AW: Problem: sc_trans zu bestimmten Zeiten

So, ich hab meinen Fehler gefunden... Aber wirklich :wall: :wall: :wall: :wall:

Ich habe im Cronjob jetzt angeben als Kommando:
"/home/radio/sc_trans /home/radio/sc_trans.conf"
wobei ich auch in der "sc_trans.conf" allen Dateien (Playliste, Logdatei) den Pfad "/home/radio/" zugewiesen habe...

Funzt jetzt *freu*


Aber trotzdem danke für die schnelle Hilfe und Anregungen (Playlist z.B)!
 
AW: Problem: sc_trans zu bestimmten Zeiten

Noch einen guten Tip:
Es macht sich nicht wirklich gut, dauernd mit dem kill-Kommando zu arbeiten.
Ich habe mir ein init-Script geschrieben, das in /etc/init.d abgelegt ist und auch beim Start des Rechners mit abgearbeitet wird (Stichwort chkconfig).
Das ist so universell gehalten, dass ich es für Shoutcast-Server, Transcoder oder eben auch für sc_trans einsetzen kann; bei Bedarf unter Abarbeitung unterschiedlicher conf-Dateien. Bei Interesse PM.
 
AW: Problem: sc_trans zu bestimmten Zeiten

Na dann gib mir doch mal nen Tipp, wie man einen Prozess sonst beendet. Als völliger Noob lerne ich ja gerne dazu.
Sei nich gleich so zynisch :)
War schneller am tippen als am denken. Innerhalb meiner bash arbeite ich der stop-section auh mit kill....
(Trotzdem krieche ich gezz nich zu Kreuze).
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben