Legolasvegas
Komplett-PC-Aufrüster(in)
Hallo pcgh-Comunity,
seit langem fummel ich jetzt schon an meinem Amahi-Homeserver rum. Anfangs mehr aus spaß , aber inzwischen ist aus dem kleinen Zeitertreib ein gutes Projekt geworden, welches inzwischen auch immer besser nach meinen Wünschen funktioniert. Jedoch bin ich jetzt an einem Punkt angekommen wo ich mit meinen Wissen nicht mehr weiter kommen. Dabei geht es vorallem um ein Energiespar-Script und um den VPN zugriff.
Weil beides zusammenhängt erstmal die Fragen zum Srcipt:
Prinzipiel:
Das Script läuft über eine Pingabfrage eines bestimmten IP Bereiches der von mir eingestellt wurde.
Quelle
Jetzt habe ich dabei folgendes Problem. Ich habe schon versucht, dass Script auf verschiedene weisen in den Bootvorgang einzubauen jedoch jedesmal ohne erfolg. Jedes mal kommt eine Dauerschleife, welche den Bootvorgang nicht zu ende laufen lässt.
Ich habe sogar schon versucht ein Script zu erstellen, welches das SCriptstartet aber mit dem gleichen Ergebniss. Nächster Schritt, welchen ich sowie so machen muss war dann, dass sich der Server automatisch auf eine Admin Account einloggt. Dannach werden im Autostart Programme wie der Streamingclient meines Fernseher gestartet ( Windows Anwedung mit Wine).
Jetzt wollte ich versuchen. Irgendwie das Script automatisch mit Systemstart anlaufen zu lassen habs aber weder über Autostart noch son etwas hinbekommen, weil ich es nicht schaffe das Script zu einer automatisch im Terminal startenden (Mit Root Rechten) Anwedung zu machen.
Auf gut Deutsch ich komme nicht weiter.
Jetzt ist mir noch eine Sache aufgefallen. VPN Zugriff habe ich ohne weiter hinbekommen nd funktioniert auch wie gewünscht. Jetzt jedoch meine Frage. Bei der Ping abfrage des Energiespar-Script habe ich den Router raus genommen um so zu erreichen,dass dieser nicht als aktiverclient erkannt wird. Jedoch ist jetzt die Frage, ob jemand der über VPN auf den Server zugreift eine ip adresse u gewiesen bekommt und so im Netzwerk erken bar ist. Sonst würde ja das Energiespa-Script keinen Client erkenen und automatisch herunterfahren. Das wäre dann sehr schlecht.
Ich hoffe es kann mir wer helfen.
gruß und schonmal viel dank im vorraus
Legolasvegas
seit langem fummel ich jetzt schon an meinem Amahi-Homeserver rum. Anfangs mehr aus spaß , aber inzwischen ist aus dem kleinen Zeitertreib ein gutes Projekt geworden, welches inzwischen auch immer besser nach meinen Wünschen funktioniert. Jedoch bin ich jetzt an einem Punkt angekommen wo ich mit meinen Wissen nicht mehr weiter kommen. Dabei geht es vorallem um ein Energiespar-Script und um den VPN zugriff.
Weil beides zusammenhängt erstmal die Fragen zum Srcipt:
Prinzipiel:
Das Script läuft über eine Pingabfrage eines bestimmten IP Bereiches der von mir eingestellt wurde.
#!/bin/bash
# Filename : autoshutdown.sh
class=192.168.0 # Set the IP base class.
flag=0 # Initialise the counter.
flag1=3 # Set the number of total failure before shutdown.
SLEEP=60 # Numbers of seconds between each check/loop.
iSTART=200 # Start IP address
iEND=100 # End IP address
iSHUTDOWN=1 # Are we allowed to shutdown?
_ping_range()
{
cnt=0
i=${iSTART}
while (( i>=iEND && cnt==0 )); do
# Ping each IP address in turn. counting downwards because we know that DHCP on
# the the network starts at 200 and assigns downwards to 100 so we're more
# likely to find a live one in the high numbers, if we find one ie cnt != 0 we'll
# stop as there's really no point continuing to looking for more.
/sbin/ping -c 1 -s 8 -t 1 ${class}.${i}
if [ $? -eq 0 ]; then
# Found one!!
let cnt++;
iSHUTDOWN=0;
fi
let i--;
done
if [ $iSHUTDOWN -eq 1 ]; then
# If iSHUTDOWN is still 1 at this point then we've not found an active IP address
# since the script started running, so we'll just pretend we have so the system stays up.
cnt=1;
fi
return ${cnt};
}
_shutdown()
{
if [ $flag -eq $flag1 ];then
# Goodbye and thanks for all the fish!!
# We've had no responses for the required number of consecutive scans
# defined in flag1 shutdown & power off.
/sbin/shutdown -p now
exit 0;
fi
}
while : ; do
# Main loop, just keep pinging and checking
_ping_range
if [ $? -eq 0 ];then
# Nothing found so add one to the count and check if we can shutdown yet.
let flag++;
_shutdown;
else
# Live IP found so reset count
flag=0;
fi
# Wait for the required time before checking again.
/bin/sleep $SLEEP;
done
# Filename : autoshutdown.sh
class=192.168.0 # Set the IP base class.
flag=0 # Initialise the counter.
flag1=3 # Set the number of total failure before shutdown.
SLEEP=60 # Numbers of seconds between each check/loop.
iSTART=200 # Start IP address
iEND=100 # End IP address
iSHUTDOWN=1 # Are we allowed to shutdown?
_ping_range()
{
cnt=0
i=${iSTART}
while (( i>=iEND && cnt==0 )); do
# Ping each IP address in turn. counting downwards because we know that DHCP on
# the the network starts at 200 and assigns downwards to 100 so we're more
# likely to find a live one in the high numbers, if we find one ie cnt != 0 we'll
# stop as there's really no point continuing to looking for more.
/sbin/ping -c 1 -s 8 -t 1 ${class}.${i}
if [ $? -eq 0 ]; then
# Found one!!
let cnt++;
iSHUTDOWN=0;
fi
let i--;
done
if [ $iSHUTDOWN -eq 1 ]; then
# If iSHUTDOWN is still 1 at this point then we've not found an active IP address
# since the script started running, so we'll just pretend we have so the system stays up.
cnt=1;
fi
return ${cnt};
}
_shutdown()
{
if [ $flag -eq $flag1 ];then
# Goodbye and thanks for all the fish!!
# We've had no responses for the required number of consecutive scans
# defined in flag1 shutdown & power off.
/sbin/shutdown -p now
exit 0;
fi
}
while : ; do
# Main loop, just keep pinging and checking
_ping_range
if [ $? -eq 0 ];then
# Nothing found so add one to the count and check if we can shutdown yet.
let flag++;
_shutdown;
else
# Live IP found so reset count
flag=0;
fi
# Wait for the required time before checking again.
/bin/sleep $SLEEP;
done
Quelle
Jetzt habe ich dabei folgendes Problem. Ich habe schon versucht, dass Script auf verschiedene weisen in den Bootvorgang einzubauen jedoch jedesmal ohne erfolg. Jedes mal kommt eine Dauerschleife, welche den Bootvorgang nicht zu ende laufen lässt.
Ich habe sogar schon versucht ein Script zu erstellen, welches das SCriptstartet aber mit dem gleichen Ergebniss. Nächster Schritt, welchen ich sowie so machen muss war dann, dass sich der Server automatisch auf eine Admin Account einloggt. Dannach werden im Autostart Programme wie der Streamingclient meines Fernseher gestartet ( Windows Anwedung mit Wine).
Jetzt wollte ich versuchen. Irgendwie das Script automatisch mit Systemstart anlaufen zu lassen habs aber weder über Autostart noch son etwas hinbekommen, weil ich es nicht schaffe das Script zu einer automatisch im Terminal startenden (Mit Root Rechten) Anwedung zu machen.
Auf gut Deutsch ich komme nicht weiter.
Jetzt ist mir noch eine Sache aufgefallen. VPN Zugriff habe ich ohne weiter hinbekommen nd funktioniert auch wie gewünscht. Jetzt jedoch meine Frage. Bei der Ping abfrage des Energiespar-Script habe ich den Router raus genommen um so zu erreichen,dass dieser nicht als aktiverclient erkannt wird. Jedoch ist jetzt die Frage, ob jemand der über VPN auf den Server zugreift eine ip adresse u gewiesen bekommt und so im Netzwerk erken bar ist. Sonst würde ja das Energiespa-Script keinen Client erkenen und automatisch herunterfahren. Das wäre dann sehr schlecht.
Ich hoffe es kann mir wer helfen.
gruß und schonmal viel dank im vorraus
Legolasvegas