Ein Script nach RESUME ausführen

Mein Hörspielserver ist nur dann an, wenn ich ihn brauche. Sobald keine Musik mehr spielt, fährt die Kiste in Suspend to RAM (STR).
Per Wake-On-Lan wecke ich sie bei Bedarf wieder auf.

Leider ist es so, dass nach einem Resume ices2 nicht mehr läuft. Ich benötige also ein Script, welches nach einem Suspend icecast2 und ices2 wieder startet. Da ich das Startscript für icecast2 in /etc/init.d/icecast2 so angepasst habe, dass ices2 immer mitgestartet wird, genügt bei mir nach dem Resume ein

sudo /etc/init.d/icecast2 restart

Der passende Ort für derlei Scripte ist /etc/pm/sleep.d/. Alle Scripte, die hier drin liegen, werden in alphabetischer Reihenfolge mit root-Rechten ausgeführt. Das Scriptkonstrukt ist dabei folgendes:

#!/bin/bash
case "$1" in
	hibernate|suspend)
		AKTIONEN, DIE VOR DEM SUSPEND AUSGEFÜHRT WERDEN
		;;
	thaw|resume) 
		AKTIONEN, DIE NACH DEM RESUME AUSGEFÜHRT WERDEN
		;;
	*)
		;;
esac
exit $?

Für meinen Hörspielserver erstelle ich also ein ausführbares Script namens „99_restart_icecast2.sh„:

sudo touch /etc/pm/sleep.d/99_restart_icecast2.sh
sudo chmod+x /etc/pm/sleep.d/99_restart_icecast2.sh
sudo nano /etc/pm/sleep.d/99_restart_icecast2.sh
#!/bin/bash
case "$1" in
	thaw|resume)
		/etc/init.d/icecast2 restart 2>/dev/null
		;;
	*)
		;;
esac
exit $?

Super Sache, jetzt funktioniert wieder alles wie gewünscht.

[read it in english]

This entry was posted in Ubuntu, ubuntuusers. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Your email address will never be published.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.