Dieser Artikel basiert im Wesentlichen auf dem Skript Auto Off von Ubuntuusers und wurde angepasst um unseren Anforderungen zu entsprechen.

Anzeige:

Es handelt sich um ein Skript welches in regelmässigen Abständen überprüft ob einer der Clients angeschaltet ist. Ist dies nicht der Fall wird der Server in Standby geschickt.

Cron Job erstellen

Als Erstes wird unter /etc/cron.d eine neue Datei mit dem Namen checkshutdown erstellt.

Dazu in die Konsole folgendes eingeben:

 

sudo nano /etc/cron.d/checkshutdown

In den sich nun öffnenden Texteditor den folgenden Code eintragen und anschliessend speichern

 

# Auto shutdown
*/10 * * * * root /usr/local/sbin/checkshutdown.sh

 

Skript
Der soeben erstellte Cronjob ruft nun alle 10 Minuten ein Skript auf welches überprüft ob einer der Clients ansprechbar ist. Ist dies zweimal hintereinander nicht der Fall geht der Server in den Standby (also nach 20 Minuten)
Wir geben folgendes in die Konsole ein:
sudo gedit /usr/local/sbin/checkshutdown.sh
In den Texteditor kommt folgender Code:
#!/bin/bash
#
#set -x

. /etc/autoshutdown.conf

logit()
{
	logger -p local0.notice -s -- AutoShutdown: $*
}

IsOnline()
{
        for i in $*; do
		ping $i -c1
		if [ "$?" == "0" ]; then
		  logit PC $i is still active, auto shutdown terminated
		  return 1
		fi
        done

	return 0
}

IsRunning()
{
        for i in $*; do
		if [ `pgrep -c $i` -gt 0 ] ; then
		  logit $i still active, auto shutdown terminated
                  return 1
                fi
        done

        return 0
}

IsDamonActive()
{
        for i in $*; do
                if [ `pgrep -c $i` -gt 1 ] ; then
                  logit $i still active, auto shutdown terminated
                  return 1
                fi
        done

        return 0
}

IsBusy()
{
	# Samba
	if [ "x$SAMBANETWORK" != "x" ]; then
		if [ `/usr/bin/smbstatus -b | grep $SAMBANETWORK | wc -l ` != "0" ]; then
		  logit samba connected, auto shutdown terminated
	  	  return 1
		fi
	fi

	#damons that always have one process running
	IsDamonActive $DAMONS
        if [ "$?" == "1" ]; then
                return 1
        fi

	#backuppc, wget, wsus, ....
        IsRunning $APPLICATIONS
	if [ "$?" == "1" ]; then
                return 1
        fi

        IsOnline $CLIENTS
        if [ "$?" == "1" ]; then
                return 1
        fi

	return 0
}

COUNTFILE="/var/spool/shutdown_counter"
OFFFILE="/var/spool/shutdown_off"

# turns off the auto shutdown
if [ -e $OFFFILE ]; then
	logit auto shutdown is turned off by existents of $OFFFILE
	exit 0
fi

if [ "$AUTO_SHUTDOWN" = "true" ] || [ "$AUTO_SHUTDOWN" = "yes" ] ; then
	IsBusy
	if [ "$?" == "0" ]; then
		# was it not busy already last time? Then shutdown.
		if [ -e $COUNTFILE ]; then
	        	# shutdown
	        	rm -f $COUNTFILE
		        logit auto shutdown caused by cron
        		/usr/sbin/pm-suspend
		        exit 0
		else
			# shut down next time
			touch $COUNTFILE
			logit marked for shutdown in next try
			exit 0
		fi
	else
		rm -f $COUNTFILE
		#logit aborted
		exit 0
	fi
fi

logit malfunction
exit 1
Das Ganze nun abspeichern. Anschliessend das Ganze noch ausführbar machen mit:
sudo chmod a+x /usr/local/sbin/checkshutdown.sh

 

Die Konfigurationsdatei

Wir erstellen nun noch die Konfigurationsdatei mit:
sudo nano /etc/autoshutdown.conf
In diese Datei kommt folgender Code:
# Turn on auto shutdown
AUTO_SHUTDOWN=yes

# Damons that always have one process running, only if more that one process is active we prevent the shutdown
# The values are used with grep, so just a unique portion is sufficient
DAMONS=""

# Important applications that shall prevent the shutdown
# The values are used with grep, so just a unique portion is sufficient
APPLICATIONS=""

# Network IP range for checking any open samba connections
# The value is used with grep, so just a unique portion is sufficient
SAMBANETWORK=""

# Names or IP for computers that shall prevent the shutdown
# We ping these computers in the list to check whether they are active.
CLIENTS="sonne mond stern 192.168.1.10 192.168.1.11 192.168.1.12"
Wichtig ist der Punkt Clients hier müssen die Namen oder IP Adressen der Clients eingegeben werden die überprüft werden sollen. Sinnvollerweise sollte man allen seinen Clientcomputern eine feste IP Adresse zuweisen, damit der Check auch zuverlässig funktioniert.
Die Überprüfung erfolgt durch einen Ping, welcher allerdings von Windows 7 standardmässig blockiert wird. In diesem Fall muss die die Windowsfirewall entsprechend umkonfiguriert werden
Dazu bitte in das Suchfeld im Startmenü
Windows-Firewall mit erweiterter Sicherheit
eingeben, dann unter Eingehende Regeln bei dem Punkt Datei- und Druckerfreigabe (Echoanforderung – ICMPv4 eingehend) bei Aktiviert ein Häckchen setzten. Aktion muss auf zulassen gesetzt sein.
Nun geht der Homeserver 20 Minuten nachdem der letzte Client ausgeschaltet wurde in den Standby.

Dieser Artikel ist lizenziert unter einer Creative Commons Namensnennung 3.0 Deutschland Lizenz.
Anzeige:
OnePlus 6T (6GB+128GB) Smartphone Mirror Black
Preis: EUR 538,00
(Stand von: 26.04.2019 9:41 - Details
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
)
Sie sparen: EUR 11,00 (2 %)
13 neu von EUR 538,003 gebraucht von EUR 499,00
  • Screen Unlock - Fingerabdruckscanner im Display
  • Größeres Display: 6,41-Zoll Optic AMOLED, Auflösung: 2340 x 1080 Pixel, 402 Pixel pro Zoll, Corning Gorilla Glass 6
  • Kamera Auflösung: 20 Megapixel Dual Hauptkamera und 16 Megapixel Frontkamera
  • Speicher: 128 GB internen Speicher; Memory: 6 GB RAM
  • Fast charge - Eine Tagesladung in einer halben Stunde
  • SIM Karte & Betriebssystem: Sim Kartentyp: Dual nano-SIM, Betriebssystem: Oxygen OS basierend auf Android 9.0 Pie
  • Lieferumfang: Adapter USB Typ-C auf 3,5 mm, Bildschirmschutz (vorappliziert), Halbdurchsichtiges Gehäuse, OnePlus Fast Charge Typ-C Kabel, OnePlus Fast Charge Netzteil, SIM-Fach-Auswerfer, Kurzanleitung, Sicherheitsinformationen

Hinterlasse einen Kommentar

Please enter your comment!
Die Angabe von Name oder Webseite ist optional. Weitere Informationen: siehe Datenschutzerklärung

Please enter your name here