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

shell und LANG=de_DE@euro



Hallo Liste,

habe eine Besonderheit mit einem Shellscript und LANG=de_DE@euro.

Ein kleines Skript das mir die Größe des Sicherungsvolumens berechnet,
funktioniert nur wenn die Variabel 'LANG=de_DE@euro' exportiert wird.
Exports mit 'de_DE' oder 'C' funktionieren nicht. 
Ich bekomme dann die Fehlermeldung " (standard_in) 1: parse error ".

Kann sich das einer von euch erklären?

Hier das Skript, ich habe meine Anmerkungen drin gelassen in der
Hoffnung, das Ganze etwas verständnisvoller zu machen.

Man möge mir die Größe der Mail verzeihen.


#!/bin/sh

# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#
#  Berechnung des Sicherungsvolumens 
#  ---------------------------------
#  Anmerkung: Da "du" keine Verzeichnisse bei der Berechnung ausschließen kann
#             wird zuerst das Gesamte Volumen berechnet und anschließend das
#             Volumen der Verzeichnisse die nicht gesichert werden sollen.
#             Die Ausgabe von "du" wird in Bytes gemacht um Rundungen durch 
#             "du" zu vermeiden.
#             Mit grep wird nach dem Gesamtvolumen gesucht und mit awk der 
#             ermittelte Wert in einer Variablen gesichert.
#
#    Das Sicherungsvolumen wird berechnet aus
#      a.) den Verzeichnissen die in der Datei /root/backup/tar/redtux.yes stehen
#          hierin sind alle Verzeichnisse enthalten die gesichert werden sollen
#      b.) den Verzeichnissen die in der Datei /root/backup/tar/redtux.no stehen
#          hierin sind alle Verzeichnisse enthalten die nicht gesichert werden sollen
#
#    Die Dateien redtux.yes und redtux.no werden von Programm "redtux.sh" das die
#    eigentliche Sicherung (tar) durchführt verwendet.
#
#    Fehlermeldungen die von "du" erzeugt werden, werden nach "/dev/null" geleitet.
#      Der Fehler erscheint, wenn man versucht die Größe des Verzeichnisses "lost+found"
#      zu ermitteln, da dieses nicht mit dem absoluten Pfad angegeben ist.
#
#    Anschließend wird das Ergebnis mit bc berechnet als MB Wert ausgegeben
#    und per Email übermittelt.
#
#
#    sbs -  Don Mär 20 21:02:38 CET 2003
#
# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# xxxxxxxxxxxxxxxxxxx
#     KONFIG
# xxxxxxxxxxxxxxxxxxx

###
# Pfad wo die Dateien redtux.yes und redtux.no liegen
pfad='/root/backup/tar'
datum=$(date +%Y-%m-%d)
empfaenger="stefan@redtux.sbsbavaria.de"

###
# muss exportiert werden da sonst die Fehlermeldung
#  (standard_in) 1: parse error
# ausgegeben wird
export LANG=de_DE@euro

###
# Hinweis woher die Mail stammt
h0="---------------------------------------------------------------------------"
h1=" diese Mail wurde über das Programm /root/backup/tar/sicherungsgroesse.sh" 
h2=" zugestellt, das über einen CronJob /etc/cron.d/local gestartet wird."

# xxxxxxxxxxxxxxxxxxx
#     PROG
# xxxxxxxxxxxxxxxxxxx

###
# Berechnen des gesamten Sicherungsvolumens
yes=$( (du -cb $(cat $pfad/redtux.yes)  2>/dev/null ) | grep insgesamt | awk '{print $1}')

###
# Berechnen des Volumens das NICHT gesichert werden soll.
no=$((du -cb $(cat $pfad/redtux.no) 2> /dev/null )| grep insgesamt | awk '{print $1}') 

###
# Differenz in MB berechnen
erg=$(echo "scale=10;($yes - $no) / 1024 / 1024" | bc)

###
# Ausgabe als Email weiterleiten
echo -e "Am $datum \nmüssen $erg MB gesichert werden\n$h0\n$h1\n$h2\n$h0" | mail -s "SICHERUNGSVOLUMEN" $empfaenger

### END ###

-- 
        ///    ---- TIA
       (..)      ----- stefan
----oo0-\/-0oo-------------------
        http://www.sbsbavaria.de/



Reply to: