Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

IF THEN Statement im bash-script funktioniert nicht

Frage Entwicklung Batch & Shell

Mitglied: FA-jka

FA-jka (Level 3) - Jetzt verbinden

18.08.2014, aktualisiert 22:32 Uhr, 1199 Aufrufe, 3 Kommentare

Hier mal "so zum Zeigen" das Script, mit dem ich die dynamische IP-Adresse von meinem RasPI aktualisiere:

01.
#!/bin/bash 
02.
03.
hostname=xyz.zapto.org 
04.
getipscript=/root/dyndns/get_ip.sh 
05.
xml_file=/root/dyndns/external_ip.xml 
06.
logfile=/root/dyndns/cronscript.log 
07.
 
08.
dns_ip=$(dig @8.8.8.8 $hostname +short) 
09.
meine_ip=$($getipscript) 
10.
 
11.
date >> $logfile 
12.
 
13.
echo "Externe DNS IP:" $dns_ip >> $logfile 
14.
echo "Externe IP der Fritz! Box:" $meine_ip >> $logfile 
15.
 
16.
if [ "$dns_ip" = "$meine_ip" ] 
17.
then 
18.
  echo "IP-Adressen sind identisch, kein Update notwendig" >> $logfile 
19.
else 
20.
  echo "DNS-IP veraltet, Update erfolgt" >> $logfile 
21.
  ddclient -daemon=0 -debug -verbose -noquiet 2 /etc/ddclient.conf >> $logfile 
22.
fi 
23.
 
24.
echo "" >> $logfile 
25.
echo "" >> $logfile 
26.
echo "" >> $logfile 
27.
root@pinulldrei:~/dyndns#
Wenn ein Update erfolgen soll (also die IP-Adressen unterschiedich sind), wird Zeile 20 ausgeführt. Zeile 21 wird in dem Fall jedoch nicht ausgeführt. Wenn ich den Befehl aus Zeile 21 per cut&paste "händisch" fahre, läuft der problemlos durch.

Warum wird Zeile 21 nicht ausgeführt?
Mitglied: Lochkartenstanzer
18.08.2014, aktualisiert 19.08.2014
Zitat von FA-jka:

Wenn ein Update erfolgen soll (also die IP-Adressen unterschiedich sind), wird Zeile 20 ausgeführt. Zeile 21 wird in dem Fall
jedoch nicht ausgeführt. Wenn ich den Befehl aus Zeile 21 per cut&paste "händisch" fahre, läuft der
problemlos durch.

Warum wird Zeile 21 nicht ausgeführt?

'N Abend

wie stellst du fest, das zeile 21 nicht ausgeführt wird?

Schreib doch dahinter doch einfach noch ein echo, um festzustellen ob die zeile danach ausgeführt wird.

lks

Nachtrag: Stimmen die Pfade? Unter welchem User wird das Skript ausgeführt udn hat der denselben Pfad wie Du, wenn Du das im Terminal ausführst?
Bitte warten ..
Mitglied: FA-jka
19.08.2014 um 08:42 Uhr
Ich habe das Gefühl, Du bist auch der Meinung, dass die Zeile ausgeführt werden müsste

Das mit den Pfaden kann tatsächlich sein. Ich befinde mich auf einer Rootshell und starte das Script direkt -> kein Problem. Ansonsten steht das in der crontab vom Root drin und dort scheint es nicht zu funktionieren.

Ich werde heute Abend mal den vollständigen Pfad vor den ddclient basteln.
Bitte warten ..
Mitglied: Lochkartenstanzer
19.08.2014, aktualisiert um 08:50 Uhr
Zitat von FA-jka:

Ich habe das Gefühl, Du bist auch der Meinung, dass die Zeile ausgeführt werden müsste

Eben. deswegen mein rat, einfach ein zweites echo hinter die ddclient-Zeile zu schreiben, damit man sicher weiß, daß der else-teil komplett abgearbeitet wird.

Das mit den Pfaden kann tatsächlich sein. Ich befinde mich auf einer Rootshell und starte das Script direkt -> kein
Problem. Ansonsten steht das in der crontab vom Root drin und dort scheint es nicht zu funktionieren.

Wenn es aus der root-shell korrekt ausgeführt wird, heißt das, daß das skript in Ordnung ist.

hast Du stderr in der crontab auf /dev/null gebogen oder werden fehler Dir per mail zugestellt? Schau mal in die mails von/an root, die Dir der cron-daemon schickt. da soltle es drinstehen, wenn Du stderr nicht nach /dev/null entsorgt hast.

lks
Bitte warten ..
Ähnliche Inhalte
Ubuntu
Nregp ereignis für bash-script (3)

Frage von rsadmchef zum Thema Ubuntu ...

Batch & Shell
Bash sqlplus oder Bash Fehler? (7)

Frage von Marabunta zum Thema Batch & Shell ...

Batch & Shell
gelöst Bash Script stoppt nach start (4)

Frage von flooo89 zum Thema Batch & Shell ...

Datenbanken
gelöst SQL-Statement in Excel .dqy Query - (Zeitrahmen) funktioniert nicht ? (6)

Frage von Schelinho zum Thema Datenbanken ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(6)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

Windows 10
Windows 10 Ordnerfreigabe (14)

Frage von Xaero1982 zum Thema Windows 10 ...