bin/bash - Daten an URL hängen !!
bin/bash - Daten an URL hängen !!
Moinsen,
also mit einer Bin/bash Datei (auslese.sh) Lese ich aktuell mehrere Daten aus.
Zum Beispiel den Uptime. Davon möchte ich gerne die Sekunden an eine Webadresse übermitteln.
Finde nichts dazu, wie ich diese mit bin/bash an einer URL hängen kann und das die Automatisch bei Aufruf der Datei abgesendent wird (per Cron).
Möchte gerne alles in einer Datei belassen.
Jemand Ideen oder Anregungen wie ich das Realesieren könnte ?
Gruß
dennis
also mit einer Bin/bash Datei (auslese.sh) Lese ich aktuell mehrere Daten aus.
Zum Beispiel den Uptime. Davon möchte ich gerne die Sekunden an eine Webadresse übermitteln.
Finde nichts dazu, wie ich diese mit bin/bash an einer URL hängen kann und das die Automatisch bei Aufruf der Datei abgesendent wird (per Cron).
Möchte gerne alles in einer Datei belassen.
Jemand Ideen oder Anregungen wie ich das Realesieren könnte ?
Gruß
dennis
- Six
- Beiträge: 8066
- Registriert: 21.12.2001 13:39:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Siegburg
Re: bin/bash - Daten an URL hängen !!
Du kannst mit curl -T (--upload-file) ganz normale PUTs durchführen, lese die man-Page für upload von stdin etc. Natürlich muss der Webserver damit was anfangen können, aber das ist ein anderes Problem.
Be seeing you!
Re: bin/bash - Daten an URL hängen !!
Also damit der auf der anderen Seite das versteht, muss er den entsprehenden GET parameter abfragen. Ansonsten währe es ganz geschickt, was auslese.sh so ausgibt. XML? CSV?
Wenn dia so ne Zeile rauskommt: Uptime;3432 (für 3432 Sekunden) und der GTP-parameter get_parameter heißst sieht das so aus:
Wenn dia so ne Zeile rauskommt: Uptime;3432 (für 3432 Sekunden) und der GTP-parameter get_parameter heißst sieht das so aus:
Code: Alles auswählen
wget "https://URL/Pfad?get_parameter=$(./auslese.sh | grep Uptime| cut -d ';' -f2| tr -d '\n')" -O /dev/stdout > /dev/null
rot: Moderator wanne spricht, default: User wanne spricht.
Re: bin/bash - Daten an URL hängen !!
Ich bin etwas verwirrt und stehe aufn Schlauch ...
Das ist der Code (Funktioniert) für das Uptime. Die Url sieht so aus: domain.tld/einedatei.php/?user=benutzername&pw=kennwort&uptime=UPTIME&os=version...
Habe ein Problem damit:
1: die Variable "$seconds" in die URL bei UPTIME reinzuprügeln
2: Die Url so-gesehen dann anschließend "Virtuell" angeklickt wird, die Gegenseite nimmt es mit GET entgegen ! .. Wget eine alternative zu Curl ?
Glaube bin u Doof
Code: Alles auswählen
#!/bin/bash
# uptime.sh
# get uptime from /proc/uptime
uptime=$(</proc/uptime)
uptime=${uptime%%.*}
seconds=$(( uptime%60 ))
Habe ein Problem damit:
1: die Variable "$seconds" in die URL bei UPTIME reinzuprügeln
2: Die Url so-gesehen dann anschließend "Virtuell" angeklickt wird, die Gegenseite nimmt es mit GET entgegen ! .. Wget eine alternative zu Curl ?
Glaube bin u Doof
Re: bin/bash - Daten an URL hängen !!
Mach' die Berechnung auf Minuten und Sekunden auf der Gegenseite. Fuer die Uebertragung eignet sich das in Sekunden gegossen besser:Auf der Gegenseite koennte z.B. ein CGI-Skript sitzen, beispielsweise-- was die Uptime in eine Datei /tmp/uptime loggen wuerde.
Gruss Cae
Code: Alles auswählen
$ wget -O /dev/null "http://example.org/?uptime=$(cut -d. -f1 /proc/uptime)"
--2013-05-26 13:17:22-- http://example.org/?uptime=1638
Resolving example.org (example.org)... 192.0.43.10, 2001:500:88:200::10
Connecting to example.org (example.org)|192.0.43.10|:80... connected.
...
Code: Alles auswählen
#!/bin/sh
printf %s "$QUERY_STRING" | sed 's/^.*uptime=\([0-9]\+\).*$/\1/' >/tmp/uptime
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: bin/bash - Daten an URL hängen !!
Wiso?dth666 hat geschrieben:Das ist der Code (Funktioniert) für das Uptime. Die Url sieht so aus: domain.tld/einedatei.php/?user=benutzername&pw=kennwort&uptime=UPTIME&os=version...
Habe ein Problem damit:
1: die Variable "$seconds" in die URL bei UPTIME reinzuprügeln
Code: Alles auswählen
GET "https://domain.tld/einedatei.php/?user=benutzername&pw=kennwort&uptime=$seconds&os=version..."
Ja, hat aber eine andere Ausrichtung. Kann rekursiv arbeiten und ist eher zum herunterladen von Websites als von Dateien.dth666 hat geschrieben:Wget eine alternative zu Curl ?
rot: Moderator wanne spricht, default: User wanne spricht.
Re: bin/bash - Daten an URL hängen !!
Nur mal als Denkanstoß: Hast du den DNS deines Systems unter Kontrolle?
Ich setze bei der DSL-Einwahl meiner "Aussenstellen" nicht nur die aktuelle IP-Adresse sondern als TXT-Record auch den Zeitpunkt des Updates:
mit einem kann ich das jederzeit und überall auslesen...
Ich setze bei der DSL-Einwahl meiner "Aussenstellen" nicht nur die aktuelle IP-Adresse sondern als TXT-Record auch den Zeitpunkt des Updates:
Code: Alles auswählen
function NSupdate {
nsupdate -k /etc/cfengine2/dnsupdate/Ksub.domain.tld.+157+35462.key
}
echo -e "update delete $HORST.sub.domain.tld\nsend" | NSupdate
echo -e "update add $HORST.sub.domain.tld 60 IN A $_IP\nsend" | NSupdate
echo -e "update add $HORST.sub.domain.tld 60 TXT $(date --utc "+%Y-%m-%d-%H%M-UTC")\nsend" | NSupdate
echo -e "update add $HORST.sub.domain.tld 86400 MX 50 mx0.domain.tld\nsend" | NSupdate
Code: Alles auswählen
dig +short TXT $HORST.sub.domain.tld
Zuletzt geändert von ThorstenS am 26.05.2013 23:57:06, insgesamt 1-mal geändert.
Re: bin/bash - Daten an URL hängen !!
Dankt euch
wanne hat mich mit GET auf den richtigen Weg gebracht
wanne hat mich mit GET auf den richtigen Weg gebracht