Fragen, Probleme ... die sonst nirgends passen ...
			
				
		
			
				
																			
								kakao 							 
						IPC Anfänger 			
		Beiträge:  51 Registriert:  Mo 5. Mär 2012, 15:39
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von kakao  Mi 3. Okt 2012, 05:56 
			
			
			
			
			Konnte es erst jetzt richtig testen,das Script läuft nur er trägt mir bei beim Netzwerk anstatt der IP folgendes ein
Code: Alles auswählen 
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        roadcast 192.168.1.255
gateway [UMTS]
Ansonsten läuft es Log wird natürlich auch erstellt.
Code: Alles auswählen 
02/10/2012 18:58:11] Switched to GATEWAY -> [UMTS]
[03/10/2012 00:20:03] Switched to GATEWAY -> [UMTS]
[03/10/2012 00:21:04] 
 bash -x dsl.sh
Code: Alles auswählen 
+ declare -A GATEWAY
+ GATEWAY["SkyDSL"]=192.168.1.1
+ GATEWAY["UMTS"]=192.168.1.111
+ PreferedGATEWAY=UMTS
+ NETWORKdevice=eth0
+ PINGIP=8.8.8.8
+ PINGtimeout=5
+ LogFile=/var/log/GATEWAYchange.log
+ _maxlogsize=512
+ _logrotate=1
+ _lockfile=/tmp/.dontswitch
+ '[' -n '' ']'
+ '[' -f /tmp/.dontswitch ']'
++ grep '1 received'
++ ping -q -W5 -c1 8.8.8.8
+ '[' -z '1 packets transmitted, 1 received, 0% packet loss, time 0ms' ']'
+ exit 0
			
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								feissmaik 							 
						Entwickler Team 			
		Beiträge:  2576 Registriert:  So 17. Apr 2011, 11:39Been thanked:  1 time 
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von feissmaik  Mi 3. Okt 2012, 10:18 
			
			
			
			
			Achso ja entschuldige da ist noch ein Bug; es müsste nicht " $GATEWAY[$Switch2Gateway] " sein sondern " ${GATEWAY[$Switch2Gateway]} "
Also probiers mal hiermit:
Code: Alles auswählen 
#!/bin/bash
#
# switch between max 2 gateways!
#
declare -A GATEWAY
GATEWAY["SkyDSL"]="192.168.1.1"
GATEWAY["UMTS"]="192.168.1.11"
PreferedGATEWAY="UMTS"
NETWORKdevice="eth0"
PINGIP="8.8.8.8"
PINGtimeout="5"
LogFile="/var/log/GATEWAYchange.log"
_maxlogsize="512"
_logrotate="1"
_lockfile="/tmp/.dontswitch"
#
if [ -n "$1" ]; then
	if [[ "$1" = "dis"* ]]; then
		touch $_lockfile
		echo "Script disabled!"
		exit 0
	elif [[ "$1" = "ena"* ]]; then
		rm -f $_lockfile
		echo "Script enabled!"
		exit 0
	fi
fi
[ -f "$_lockfile" ] && exit 0
# check for ping response and if not change /etc/network/interfaces
if [ -z "$(ping -q -W$PINGtimeout -c1 $PINGIP|grep "1 received")" ]; then
	CurrentGateway=""; Switch2Gateway=""
	for index in ${!GATEWAY[*]}; do
		[ -f "/tmp/.$index" ] && CurrentGateway="$index"
	done
	if [ -n "$CurrentGateway" ]; then
		for index in ${!GATEWAY[*]}; do
			[ "$index" != "$CurrentGateway" ] && Switch2Gateway="$index"
		done
	else
	 Switch2Gateway=$PreferedGATEWAY
	fi
	num=$(sed -ne '/gateway .*/=' /etc/network/interfaces)
	if [ -n "$num" ]; then
		num2=$(expr $num - 1)
		sed -i -e "$num d" -e "$num2 a gateway ${GATEWAY[$Switch2Gateway]}" /etc/network/interfaces
		ifdown $NETWORKdevice
		ifup $NETWORKdevice
		echo "[$(date +"%d/%m/%Y %H:%M:%S")] Switched to $Switch2Gateway GATEWAY -> ${GATEWAY[$Switch2Gateway]}"
		echo "[$(date +"%d/%m/%Y %H:%M:%S")] Switched to $Switch2Gateway GATEWAY -> ${GATEWAY[$Switch2Gateway]}" >> $LogFile
	else
		echo "[$(date +"%d/%m/%Y %H:%M:%S")] CANT SWITCH to $Switch2Gateway GATEWAY -> ${GATEWAY[$Switch2Gateway]}! Missing 'gateway' Line!"
		echo "[$(date +"%d/%m/%Y %H:%M:%S")] CANT SWITCH to $Switch2Gateway GATEWAY -> ${GATEWAY[$Switch2Gateway]}! Missing 'gateway' Line!" >> $LogFile
	fi
else
	exit 0
fi
# check size of LogFile
if [ -f "$LogFile" -a "$(stat --printf="%s" $LogFile)" -gt "$_maxlogsize" ]; then
	if [ "$_logrotate" == 1 ]; then
		echo "rotating log $LogFile"
		mv -f $LogFile ${LogFile}.1 >/dev/null 2>&1
	else
		echo "resetting log $LogFile"
		rm -f $LogFile >/dev/null 2>&1
	fi
	touch $LogFile
fi
exit 0
			Du musst nicht kämpfen um zu siegen
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								kakao 							 
						IPC Anfänger 			
		Beiträge:  51 Registriert:  Mo 5. Mär 2012, 15:39
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von kakao  Mi 3. Okt 2012, 17:57 
			
			
			
			
			Danke für deine Hilfe!!!
Habe jetzt getestet es geht wenn ich den Skydslgateway drinnen habe das er switcht (aber leider erstwenn ich den Server reboote)
Entferne ich UMTS will er immer wieder auf den UMTS umstellen.
Code: Alles auswählen 
[03/10/2012 18:28:07] Switched to UMTS GATEWAY -> 192.168.1.111
dann bash ausgeführt bei abgestecktem UMTS
Code: Alles auswählen 
+ declare -A GATEWAY
+ GATEWAY["SkyDSL"]=192.168.1.1
+ GATEWAY["UMTS"]=192.168.1.111
+ PreferedGATEWAY=UMTS
+ NETWORKdevice=eth0
+ PINGIP=8.8.8.8
+ PINGtimeout=5
+ LogFile=/var/log/GATEWAYchange.log
+ _maxlogsize=512
+ _logrotate=1
+ _lockfile=/tmp/.dontswitch
+ '[' -n '' ']'
+ '[' -f /tmp/.dontswitch ']'
++ grep '1 received'
++ ping -q -W5 -c1 8.8.8.8
+ '[' -z '' ']'
+ CurrentGateway=
+ Switch2Gateway=
+ for index in '${!GATEWAY[*]}'
+ '[' -f /tmp/.SkyDSL ']'
+ for index in '${!GATEWAY[*]}'
+ '[' -f /tmp/.UMTS ']'
+ '[' -n '' ']'
+ Switch2Gateway=UMTS
++ sed -ne '/gateway .*/=' /etc/network/interfaces
+ num=14
+ '[' -n 14 ']'
++ expr 14 - 1
+ num2=13
+ sed -i -e '14 d' -e '13 a gateway 192.168.1.111' /etc/network/interfaces
+ ifdown eth0
+ ifup eth0
++ date '+%d/%m/%Y %H:%M:%S'
+ echo '[03/10/2012 18:54:55] Switched to UMTS GATEWAY -> 192.168.1.111'
[03/10/2012 18:54:55] Switched to UMTS GATEWAY -> 192.168.1.111
++ date '+%d/%m/%Y %H:%M:%S'
+ echo '[03/10/2012 18:54:55] Switched to UMTS GATEWAY -> 192.168.1.111'
++ stat --printf=%s /var/log/GATEWAYchange.log
+ '[' -f /var/log/GATEWAYchange.log -a 384 -gt 512 ']'
+ exit 0
der Log dazu 
Code: Alles auswählen 
[03/10/2012 18:56:02] Switched to UMTS GATEWAY -> 192.168.1.111
Sorry wollte dir keine arbeit machen 
			
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								feissmaik 							 
						Entwickler Team 			
		Beiträge:  2576 Registriert:  So 17. Apr 2011, 11:39Been thanked:  1 time 
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von feissmaik  Mi 3. Okt 2012, 18:10 
			
			
			
			
			Gibts denn jetzt noch ein Problem? Wer daraus nicht so ganz schlau..
			
			
									
						
			Du musst nicht kämpfen um zu siegen
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								kakao 							 
						IPC Anfänger 			
		Beiträge:  51 Registriert:  Mo 5. Mär 2012, 15:39
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von kakao  Mi 3. Okt 2012, 22:57 
			
			
			
			
			Das einzige Problem ist das er nur auf 192.168.11 umschaltet nie auf 192.168.1.1.
			
			
									
						
			
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								feissmaik 							 
						Entwickler Team 			
		Beiträge:  2576 Registriert:  So 17. Apr 2011, 11:39Been thanked:  1 time 
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von feissmaik  Mi 3. Okt 2012, 23:14 
			
			
			
			
			Wenn das Script über den UMTS gateway die externe-IP pingen kann gibts da auch kein Grund für das Script da ja anscheint eine Internet Verbindung noch besteht...
Sicher das du das richtig getestet hast? 
			Du musst nicht kämpfen um zu siegen
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								kakao 							 
						IPC Anfänger 			
		Beiträge:  51 Registriert:  Mo 5. Mär 2012, 15:39
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von kakao  Mi 3. Okt 2012, 23:29 
			
			
			
			
			hast du recht 
Habe getestet Netzwerk eingestellt auf skydsl (192.168.1.1 Gateway)
Verbindung getrennt er switcht auf umts
alles ok
Verbindung (Gateway) auf 192.168.11 also Umts,dann trennung
also soll  er auf 192.168.1.1 verbinden
er will immer verbinden auf 192.168.11
werde auf donate klickenund was geben,bei dem Service:) 
			
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								feissmaik 							 
						Entwickler Team 			
		Beiträge:  2576 Registriert:  So 17. Apr 2011, 11:39Been thanked:  1 time 
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von feissmaik  Mi 3. Okt 2012, 23:44 
			
			
			
			
			Also funktioniert es jetzt so wie es soll oder gibts noch Problem?
			
			
									
						
			Du musst nicht kämpfen um zu siegen
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								kakao 							 
						IPC Anfänger 			
		Beiträge:  51 Registriert:  Mo 5. Mär 2012, 15:39
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von kakao  Do 4. Okt 2012, 11:26 
			
			
			
			
			Es funktioniert,wenn SkyDsl weg ist geht er auf Umts,gibt es auch die Möglichkeit das er wenn UMTS wegfällt wieder auf skydsl zurück geht?
			
			
									
						
			
						 
		 
				
		
		 
	 
	
				
				
		
			
				
																			
								feissmaik 							 
						Entwickler Team 			
		Beiträge:  2576 Registriert:  So 17. Apr 2011, 11:39Been thanked:  1 time 
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von feissmaik  Do 4. Okt 2012, 12:08 
			
			
			
			
			Eigentlich sollte er das allerdings nur dann wenn er die externe PINGIP nicht mehr pingen kann...nicht  zum UMTS gateway. nicht  mehr anpingen kann erst dann switched er zum UMTS gateway...
			
			
									
						
			Du musst nicht kämpfen um zu siegen
						 
		 
				
		
		 
	 
	
	
	
	
		
		Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste