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@...:
> 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/