Problem bei der Installation von IPKG

Status
Für weitere Antworten geschlossen.

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.898
Punkte für Reaktionen
1.177
Punkte
754
Das Skript ist ausführbar. Was den Zugriff anbetrifft: Bist Du denn als root eingeloggt? Wenn nicht (sondern z.B. als admin), dann bitte mit root nochmal versuchen.
 

laserdesign

Benutzer
Mitglied seit
11. Jan 2011
Beiträge
2.532
Punkte für Reaktionen
38
Punkte
94
Ich hab bei der Fehlersuche die von mir eingetragenen IP Adressen mal angepingt und bekomme von der Zieladresse gesagt: Zielhost nicht erreichbar.

wenn das schon nicht klappt, wird das auch mit dem Script nicht funktionieren.
 

noir

Benutzer
Mitglied seit
01. Jul 2015
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo nochmal,

ja ich bin als root eingeloggt.
Ich verstehe das Script so. Die Diskstation soll nach dem hochfahren Ip Adressen anpingen. Wenn keine der eingetragenen IP´s angepingt werden kann, versucht die Diskstation es so lange weiter bis die eingestellte Zeit abgelaufen ist. Wenn jetzt über diese Zeitspanne keine der eingetragenen IP´s angepingt werden konnte, fährt die Diskstation herunter.
Um auszuschließen, dass mein Router der ja der Diskstation meldet, dass die IP´s nicht erreichbar sind, habe ich das LAN Kabel raus gezogen. Damit wollte ich auf Nummer sicher gehen das es an der Konfiguration der Diskstation liegt und nicht am Router/Netzwerk.
Was kann ich tun um nachzuschauen ob das Script ausführbar ist oder ist es schon ausführbar?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.898
Punkte für Reaktionen
1.177
Punkte
754
Wie schon geschrieben: Das Skript ist ausführbar. Dafür stehen die x in den Rechtespalten ganz vorne.
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

ein Startscript unter /usr/syno/etc/rc.d/ sollte einen Namen in der Form SXX<Name> haben. Wobei das XX eine Zahl sein sollte die die Reihenfolge angibt und das "S" für Startscript steht. In dem Fall für autoshutdown möglichst hoch damit auch die Netzwerkkomponenten schon oben sind. Hinzu kommt das dieses Startscript wenn überhaupt ein Script im Hintergrund starten sollte weil ansonsten die Webanmeldung blockiert würde. Hier mal ein Beispiel für ein Startscript.

/usr/syno/etc/rc.d/S99autoshutdown.sh

Rich (BBCode):
#!/bin/sh

SHUTDOWNSCRIPT="/volume1/public/autoshutdown.sh"
                                                                       
case "$1" in                                                                      
	start)                                                                  
		echo "Start autoshutdown"                          
		$SHUTDOWNSCRIPT &                           
		;;                                                                      
	stop)		                                                                   
		killall $(basename "$SHUTDOWNSCRIPT")                             
		;;                                                                      
	restart)                                                                
		$0 stop                                                         
		sleep 1                                                         
		$0 start                                                        
		;;                                                                      
esac

Und auch die Installation von bash hättest Du dir sparen können. Hier im Forum und auch im Wiki finden sich Beispiele die das gleiche machen auch ohne die bash auskommen. Beispielweise

/volume1/public/autoshutdown.sh

Rich (BBCode):
#!/bin/sh
# shutdown the DS if other network devices are not available anymore
#

# List of hosts to check for ping
# 29=Mac Mini / 27=iMac / 15=PC / 90=DenonX4500 / 91=DenonDBT
HOSTS='192.168.44.29 192.168.44.27 192.168.44.15 192.168.44.90 192.168.44.91'

# Cycle for check
#
CHECKTIME=10

# Startdelay for emergency stop
#
STARTDELAY=600

# Max-Pakets to send
#
MAXPAKETS=3

# ************************************ END SETTINGS ***********************************
                                 
echo "Start autoshutdown"                          

# Wait startdelay-times for kill this prozess 
# Without the DS shutdown if you have a not valid IP configured and the DS was unusable
# so you can kill that prozess before shutdown
# 
sleep $STARTDELAY

# Init
OFF=0

while [ $OFF == 0 ]; do
	OFF=1 
	for HOST in $HOSTS; do
	ping -c $MAXPAKETS $HOST > /dev/null			
		if [ $? == 0 ]; then
			# Host available = no shutdown
			OFF=0
			sleep $CHECKTIME
		fi
	done
done

# beeps 3x 

echo 2 > /dev/ttyS1;
sleep 1
echo 2 > /dev/ttyS1;
sleep 1
echo 2 > /dev/ttyS1;

echo Shutting down
poweroff

Was macht das Script? Es pingt die IP's die mit rot gekennzeichnet sind (und auch von dir auf dein Netzwerk angepaßt werden müssen) und fährt die DS herrunter wenn diese nicht mehr erreichbar sind. Zur Sicherheit ist am Anfang noch eine Verzögerung eingebaut die dafür sorgt das bei falscher Angabe von IP's das Script noch per ssh abgebrochen werden kann.

Ansonsten kann aber glaube ich auch der "Advanced Power Manager" solche Sachen und ist bequem als Paket zu laden und installieren.

Gruß Frank
 

laserdesign

Benutzer
Mitglied seit
11. Jan 2011
Beiträge
2.532
Punkte für Reaktionen
38
Punkte
94
@fpo4711,

danke für deine Mühe, ich war auch gerade dabei das mal zu sortieren, kann ich mir ja jetzt sparen.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.898
Punkte für Reaktionen
1.177
Punkte
754
Der APM könnte eine Alternative sein, richtig. Er kann das automatische Herunterfahren, das man in der Zeitplanung konfiguriert, unter bestimmten Umständen verzögern oder verhindern - z.B. wenn Rechner noch Laufwerke gemountet haben. Er checkt das aber erst ab dem konfigurierten Shutdown-Zeitpunkt, nicht permanent.
 
Zuletzt bearbeitet:

noir

Benutzer
Mitglied seit
01. Jul 2015
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Vielen Lieben Dank an Alle!
Also ich habe gerade probiert das Script im Verzeichnis /usr/syno/etc/rc.d/ von "pingshutdown.sh" "S99pingshutdown.sh" umbenannt. Dann habe ich noch mal in das Script reingeschaut. Es war nach der Umbenennung leer. Die erforderliche Zeile "/volume1/script/pingshutdown/pingshutdown.sh &" hab ich mit der Hand reingeschrieben, gespeichert, kontrolliert und neugestartet. Nun sollte das script laufen. Den APM habe ich gerade versucht zu installieren, doch leider steht da konnte nicht installiert werden. Ich hab mir im Paketzentrum schon die Communitypakete hinzugefügt. Aber wenn ich auf installieren klicke funktioniert es nicht. Ich teste grad ob es mit dem script jetzt geht.
Die IP Adressen habe ich im Script schon auf meine abgeändert.
Um eine korrekte Funktion des Scriptes zu gewährleisten, habe ich den DHCP Bereich des Routers verkleinert und den Netzwerkteilnehmern die von der Diskstation angepingt werden, eine Feste IP zugeordnet.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat