Hallo!
Anwendung:
Ich lasse auf einem verteilten Serversystem per CronTab Shellscripts
ausführen. Diese Skripts erzeugen eine Statistik- und eine Logdatei welche ich
im Anschluss in eine Zentrale Datenbank einspiele (wieder per Skript).
Problem:
Variablen die ich zuvor aus der Statistik heraus „ge-grept“ habe, lassen sich ja
sehr einfach in den SQL-Syntax übernehmen und das funktioniert auch. Aber - ich
habe in der Datenbanktabelle ein Feld vom Format „TEXT“ in welches ich die
Logdatei (max. 40 Zeilen) als ganzes übernehmen möchte. Derzeit helfe ich mir
damit ab, dass ich die Logdatei kopiere und den Pfad in der Datenbank ablege -
lieber wäre mir der Kompaktheit halber wen alles in der Datenbank zusammen wäre.
BEISPIEL
**#### \>\>\> So sieht die Tabelle aus:**
ID (INT11) autoincrement,
STARTZEIT (datetime)
ENDZEIT (datetime)
LOG (TEXT)
...
**#### \>\>\> So befülle ich die Variablen:**
STARTZEIT=`grep "Begin:" /statistik/file | awk '{print $3 }'`
ENDZEIT=`grep "Begin:" /statistik/file | awk '{print $3 }'`
**LOG=`cat /log/file`** # So hätte ichs versucht aber das klappt nicht,
# wegen der 'Escape Sequences'
**#### \>\>\> So sieht der SQL-Syntax aus den ich in eine TEMP-Datei schreibe
#### \>\>\> und danach diese TEMP-Datei an**
#### \>\>\> mysql -h test.local -d datenbank -u user -p geheim \>\> **übergebe!**
INSERT INTO log ( STARTZEIT , ENDZEIT, LOG ) VALUES ( \"$STARTZEIT\",
\"$ENDZEIT\", \"$LOG\" );
Kennt dazu jemand eine Lösung?
Meine Systemdaten: bash, mysql 5
Herzlichen Dank.