Achtung

Dieser Beitrag ist schon sehr alt, und die Infos hier sind sicherlich hoffnungslos veraltet…

Ein Script nach RESUME ausführen

Ubuntu
ubuntuusers
Autor:in

produnis

Veröffentlichungsdatum

15. Mai 2010

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]