sveni-lee
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
Ich möchte gern neue syslog einträge an ein anderes System übertragen...
das ganze sollte in einem script erfolgen... soetwas in der Art
| #!code bash
log=$(tail -f /var/log/syslog)
curl "http://192.168.178.38:8082/set/javascript.0.Hardware.StromPi.log?value=${log}"
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4563
Wohnort: Berlin
|
Ein Ansatz wäre wohl folgendes, aber das ist nicht wirklich robust, weil in den Zeilen Zeichen vorkommen können die man URL-kodieren müsste:
| #!/bin/bash
while read -r line; do
curl -G --data-urlencode "value=$line" \
'http://192.168.178.38:8082/set/javascript.0.Hardware.StromPi.log'
done < <(tail -f /var/log/syslog)
|
|
sveni-lee
(Themenstarter)
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
das schaut echt super aus... ich werde damit noch ein wenig experimentieren DANKE
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4378
Wohnort: Göttingen
|
Willst Du das nur für einen oder mehrere Server machen. Falls Du das für mehrere Systeme machen willst, solltest Du überlegen, ob Du nicht einen Logserver verwenden willst.
|
sveni-lee
(Themenstarter)
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
gibt es die möglichkeit bestimmte sachen vom syslog auszuschließen?
ich möchte folgendes nicht mehr im syslog haben | Apr 19 10:55:01 strompi CRON[23604]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Apr 19 10:55:29 strompi stromexport.sh[16109]: {"id":"javascript.0.Stromzaehler.Normalstrom.Zaehlerstand_input","value":2435270,"val":2435270} % Total % Received % Xferd Average Speed Time Time Time Current
Apr 19 10:55:29 strompi stromexport.sh[16109]: Dload Upload Total Spent Left Speed
Apr 19 10:55:29 strompi stromexport.sh[16109]: #015 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0#015100 95 100 95 0 0 1165 0 --:--:-- --:--:-- --:--:-- 1187
|
alles was aus stromexport.sh kommt kann da raus... ich habe das problem, das dann folgendes ankommt: | Apr 19 10:55:29 strompi stromexport.sh[16109]: #015 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0#015100 95 100 95 0 0 1165 0 --:--:-- --:--:-- --:--:-- 1187
Apr 19 10:55:29 strompi stromexport.sh[16109]: Dload Upload Total Spent Left Speed
Apr 19 10%3A55%3A29 strompi stromexport.sh[16109]%3A {"id"%3A"javascript.0.Stromzaehler.Normalstrom.Zaehlerstand_input"%2C"value"%3A2435270%2C"val"%3A2435270} % Total % Received % Xferd Average Speed Time Time Time Current
Apr 19 10:55:01 strompi CRON[23604]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
|
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4378
Wohnort: Göttingen
|
Das machst Du mit einer entsprechenden Regel für den rsyslog. Einige Beispiele findest Du unter /etc/rsyslog.d.
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4563
Wohnort: Berlin
|
@sveni-lee: Irgendwie scheint mir das syslog nicht der richtige Ansatz zu sein. Falls Du irgendwelche Daten ins syslog schreibst um die dort dann wieder heraus zu fischen, haben wir wohl ein XY-Problem. Was willst Du denn eigentlich machen/erreichen? Edit: Und warum ist eine der Zeilen immer noch URL-kodiert, die anderen aber nicht‽
|
sveni-lee
(Themenstarter)
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
ich bin mir grad nicht sicher wo die Einträge vom stromexport.sh herkommen. Im grunde möchte ich schon den syslog weiterreichen.
ich habe eine Visualisierung in iobroker vom Server und 3 OPi zero. Jetzt wollte ich zusätzlich noch die möglichkeit haben den syslog
einzublenden also wird dieser in einen "State" in eiobroker übergeben... später soll er dann nach Warungen und Errors durchsucht werden
Aber das kommt erst später. stromexport.sh
| #!/bin/bash
/usr/local/bin/stromzaehler1 | while read -r counter; do
curl "http://192.168.1.142:8082/set/javascript.0.Stromzaehler.Normalstrom.Zaehlerstand_input?value=${counter}"
done
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4563
Wohnort: Berlin
|
@sveni-lee: Die Einträge kommen vom curl in stromexport.sh . Das erste ist ziemlich wahrscheinlich die Antwort vom Server und das andere sind die Ausgaben von curl die den Fortschritt anzeigen. Beides kann/sollte man in diesem Fall wohl unterdrücken. Also die Ausgabe der Serverantwort zum Beispiel nach /dev/null umleiten und die passende curl -Option finden, mit der man die Fortschrittsausgabe abschaltet.
|
sveni-lee
(Themenstarter)
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
jepp. genau das war es... ich hab die Audgabe jetzt ungeleitet in /dev/null und jetzt klappt es echt super...
Danke
|
sveni-lee
(Themenstarter)
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
so, nachdem ich das ganze jetzt einige Zeit im Einsatz habe ist mir nun doch noch ein Problem aufgefallen. Ich hatte mich schon gewundert/gefreut, dass ich keine Warnungen/Errors in den syslog bekomme bis mir dann aufgefallen ist das täglich um 6:25Uhr das ganze "einfriert". Soeit ich das sehe wird um diese Uhrzeit des "alte" syslog abgespeichert abgespeichert und eine "neue" Datei erstellt... leider bleibt dann meine Auswertung hängen. Kann ich dieses Verhalten ändern?
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4563
Wohnort: Berlin
|
@sveni-lee: Ja, das Verhalten kann man ändern. ☺ Schau Dir mal die Dokumentation von tail an.
|
sveni-lee
(Themenstarter)
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
meinst Du evenuell tail -F /var/log/syslog
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4563
Wohnort: Berlin
|
@sveni-lee: Jup, das meinte ich. ☺
|
sveni-lee
(Themenstarter)
Anmeldungsdatum: 28. Mai 2013
Beiträge: 258
|
Danke... werde ich mal testen ☺
|