[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bash Cronjob starten mit Befehl source


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/