staging.inyokaproject.org

Script nach Standby ausführen

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

burli

Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 8985

Ich lasse nach dem Login ein Script ausführen, dass die Replikation einer Datenbank startet. Ich habe jetzt festgestellt, dass nach einem Standby die Replikation nicht mehr funktioniert. Ich müsste also das Script nach einem Standby erneut ausführen.

Gibt es da eine Möglichkeit?

Zombie_im_Bademantel

Avatar von Zombie_im_Bademantel

Anmeldungsdatum:
13. April 2005

Beiträge: 655

Aber natürlich doch ☺

Grundsätzlich kann man unter /etc/pm/sleep.d/ ein ausführbares Skript ablegen, etwa 99_mein_script, welches folgenden Aufbau hat:

#!/bin/bash
case "$1" in
	hibernate|suspend)
		echo "nothing to do" ;;
	thaw|resume)
		echo "some commands" ;;
	*)
		echo "no parameter given" ;;
esac

Interessant ist hier für dich ersichtlich der Fall "thaw|resume". Viel Spaß damit!

burli

(Themenstarter)
Avatar von burli

Anmeldungsdatum:
27. April 2007

Beiträge: 8985

Danke, werde es testen

itoss

Avatar von itoss

Anmeldungsdatum:
4. April 2014

Beiträge: 419

funktioniert auch 2015 noch 😉

 cat /etc/pm/sleep.d/11_autofs 
#!/bin/bash
case $1 in
    #hibernate)
    #    echo "Hey guy, we are going to suspend to disk!"
    #    ;;
    suspend)
        #echo "Oh, this time we're doing a suspend to RAM. Cool!"
	stopping autifs service 
	sudo service autofs stop
        ;;
    #thaw)
    #    echo "oh, suspend to disk is over, we are resuming..."
    #    ;;
    resume)
	#echo "hey, the suspend to RAM seems to be over..."
	starting autofs service
	sudo service autofs start
        ;;
    *)  echo "somebody is calling me totally wrong."
        ;;
esac

bugz

Anmeldungsdatum:
4. November 2007

Beiträge: Zähle...

Mh, bei 16.04 wird das Skript bei mir nicht ausgeführt oder mache ich was falsch?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

#!/bin/sh
# /etc/pm/sleep.d/11_wakeserver.sh

case "${1}" in
    hibernate|suspend)
        echo "";;
    resume|thaw)
        wakeonlan 00:C1:2B:MH:63:D0
        ;;
    *)
        ;;
esac

bugz

Anmeldungsdatum:
4. November 2007

Beiträge: 122

Es läuft nun. Und zwar müssen unter 16.04 nach dem Stand-By ausgeführte Skripts nach:

1
/lib/systemd/system-sleep/

mit folgendem Format

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#!/bin/sh
case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    ;;
esac

und natürlich nicht vergessen:

1
sudo chmod a+x /lib/systemd/system-sleep/your-script

tec_maulwurf

Anmeldungsdatum:
20. Februar 2008

Beiträge: Zähle...

Grabe da zwar gerade was aus aber... Ich wollte conky automatisch neu starten nach dem standby. Das Script wird ausgeführt getestet mit einer aplay Ausgabe. Aber conky startet nicht, fehlen da Berechtigungen? Wie kann man das lösen?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Skripte, die im Kontext des Systems ausgeführt werden, wissen nichts von deiner User-Session. Denen musst du alle nötigen Umgebungsvariablen mitgeben und sie unter dem richtigen Nutzer ausführen (vgl. z.B. sudo (Abschnitt „Programme-im-Kontext-anderer-Benutzer-ausfuehren“)).

Wenn du conky mit Hilfe einer Systemd-Unit in der User-Session (vgl. systemd/User Units) startest, genügt es den Prozess zu killen, wenn die Unit so konfiguriert ist (https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart=), dass sie Conky automatisch wieder startet.

Antworten |