[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash Cronjob starten mit Befehl source
[Thread Prev] | [Thread Next]
- Subject: Re: Bash Cronjob starten mit Befehl source
- From: Stephan Gromer <stephan@xxxxxxxxxxxxxxxx>
- Date: Sun, 10 May 2015 10:56:41 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Lieber Andreas Sofern Du Kontrolle ueber den Rechner hast und Du Race conditions sowie Fremdzugriffe auf die Datei ausschliessen kannst, wie waere es mit einer Datei als Variablenzwischenspeicher? #/bin/sh IP_DATEI="/tmp/oldip" # Hier wird die IP zwischengespeichert OLD_IP="0.0.0.0" # Defaultwert if [ -r "$IP_DATEI" ] # Datei vorhanden und lesbar? then OLD_IP=$(cat "$IP_DATEI") # Alte IP einlesen (ueberschreibt die 0.0.0.0) fi echo "Alte IP: $OLD_IP" # neue Ip bestimmen NEW_IP="173.194.112.119" # Fuer Testzwecke echo "$NEW_IP" >"$IP_DATEI" # New_IP als Alte speichern (abhg. vom geplanten vorgehen) echo "$NEW_IP nach $IP_DATEI geschrieben" LG Stephan Am 10.05.2015 um 00:47 schrieb preludi@xxxxxx: > ich moechte ein Bash Script in einem Cronjob ausfuehren. Das Script laedt > meine externe IP Adresse in eine Cloud. > Zwecks Vergleich alter IP Adresse und moeglicher neuer IP Adresse > speichere ich die alte IP Adresse in einer Variable $IP_alt. > > Nach Abarbeiten des Scripts muss natuerlich diese $IP_alt weiterhin > verfuegbar sein. Ich mache das mit dem Befehl export (bzw. declare -x). > Damit wuerde die Variable nur in einer Subshell zur Verfuegung stehen, > nicht jedoch bei naechster Ausfuehrung des gleichen Scripts im Cronjob > (...ich hoffe, ich habe das so richtig verstanden, ich bin nur Hobby > Linuxer). > > Damit die Variable $IP_alt bei der naechsten Scriptausfuehrung verfuegbar > ist, starte ich dieses statt mit bash <script.sh> jetzt mit source > <script.sh>. Alles funktioniert wunderbar bei Ausfuehrung im Terminal. > Es funktioniert aber nicht innerhalb eines cronjobs. > > crontab wie folgt: > # m h dom mon dow command > * * * * * *source* /script.sh > > Das Problem liegt bei "source". Schreibe ich hier "bash" laeuft das > Script, die Variable $IP_alt steht aber nicht zu Verfuegung. > -- Priv.-Doz. Dr. med. Stephan Gromer Schaelzigweg 64 / D-68723 Schwetzingen Tel.: +49 (6202) 855038 Fax.: +49 (6202) 855043 Mobil: +49 (152) 21595557 URL: http://www.gromer-online.de -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/