Bash shell script - jak poslat data na server

PanKapitánRUM

Bash shell script - jak poslat data na server
« kdy: 01. 01. 2013, 15:22:49 »
Ahoj,

potřebuji ze skriptu poslat data na web/sql server, zabezpečení není problém a v tomto případě není důležité.
Abych se mohl z BASH připojit přímo do databáze, tak bych potřeboval mít nainstalovaný ovladač, na což se podle všeho nemůžu spolehnout a žádný univerzální ovladač napříč většinou distribucí nikde není.

Přijde mi, že jediné, na co se mohu tak nějak spolehnout cca na všech systémech, je poslat data na server přes wget (raději curl?).
Zapsat přímo do DB by mi ušetřilo hodně práce, ale tady asi nejsem schopen zajistit funkčnost že?

Kdyby se jednalo jen o Debian-y, bylo by to v pohodě.


RDa

  • *****
  • 2 674
    • Zobrazit profil
    • E-mail
Re:Bash shell script - jak poslat data na server
« Odpověď #1 kdy: 01. 01. 2013, 15:32:36 »
Zalezi kolik toho potrebujes poslat a zda je to interni nastroj nebo to musi byt verejne dosupne.

Jakkoliv, podminky si muzes klast sam (mysql klient, wget). Upozornuji, ze i kdyz MAC OS X ma shell, wget tam by default neni. Takze tak jak tak, si budes muset specifikovat pozadavky a idealne pritomnost a verzi nastroji si overovat ve svem skriptu.


tadeas

Re:Bash shell script - jak poslat data na server
« Odpověď #2 kdy: 01. 01. 2013, 15:35:21 »
Na přítomnost curl se taky spolehnout nemůžeš, ale rozhodně tam bude spíš curl, než DB klient. BTW co závislosti balíčku - nestačilo by to přidat do závislostí?

curl/wget + web app je asi tak o 100% bezpečnější. Zabezpečení sice "není problém", ALE...

PanKapitánRUM

Re:Bash shell script - jak poslat data na server
« Odpověď #3 kdy: 01. 01. 2013, 16:03:37 »
Je to do malého nástroje, nic kromě toho skriptu by se nemělo instalovat, spustím skript a vrátím si data.
Na MAC-os se můžu *, pokud tu mojí věc bude chtít rozjet nějaký pošuk s nakousnutým jablkem, ať si to řeší sám.
Všude jinde by to měl vyřešit jeden apt-get.

Asi na to budu přes ten CURL+JSON (Data si můžu naformátovat podobně jako pro DB.)

curl -b mojecookie.txt -i --user validuser:1234 -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d '{"computer":{"name":"station1"}}' http://kapitan.rum/get.php

JSON není extra bezpečný, ale pro tenhle účel to bude stačit, ověření pravosti klienta zvládne php skript, kdy ověřím IP, cookie a díky SN.
Nebezpečí zneužití je myslím cca nula, důležité změny se stejně musí commitovat.

Kdyby to někdo hledal:
http://stackoverflow.com/questions/9223319/curl-cookie-syntax-from-bash-cli-not-cookie-file
http://stackoverflow.com/questions/1232867/login-to-a-site-and-then-post-to-a-page-in-it

RDa

  • *****
  • 2 674
    • Zobrazit profil
    • E-mail
Re:Bash shell script - jak poslat data na server
« Odpověď #4 kdy: 01. 01. 2013, 17:32:00 »
Citace
Všude jinde by to měl vyřešit jeden apt-get.

Tak si pro balicek definuj zavislosti, klidne mysql-client, wget nebo curl a je vystarano.


PanKapitánRUM

Re:Bash shell script - jak poslat data na server
« Odpověď #5 kdy: 01. 01. 2013, 17:52:45 »
Já rozhodně žádný balíček dělat nebudu.
Klient je jen Bash skript, který se bude instalovat prostým nakopírováním někam a spuštěním bouchnimědocron.sh
Ostatně, kdyby to bylo něco složitějšího, tak se na Linux klidně vyprdnu, matematika je jednoduchá >95% klientů jsou Widle.