Portál AbcLinuxu, 7. května 2025 17:02

Dotaz: bash a mysql

16.5.2013 18:37 krokodyl
bash a mysql
Přečteno: 522×
Odpovědět | Admin
Ahoj, potreboval bych poradit s mysql v bashi. Presneji vubec nevim jak na to :)

Moje predstava je takova, ze cronem spustim nejaky bash script, ktery z databaze provede dotaz napr. (select nazev from databaze where stav=1) bash script ziska udaje ze sloupce nazev (muze to byt 1 vysledek, vice vysledku, nebo zadnej) vytvori soubor do slozky /home/nazev_z_db a provede update na stav=0 v mysql.

Diky za pomoc
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.5.2013 18:43 scott | skóre: 15
Rozbalit Rozbalit vše Re: bash a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud s MySQL používáš na serveru i PHP, bude určitě jednodušší takový úkol napsat v PHP (CLI).
16.5.2013 18:44 krokodyl
Rozbalit Rozbalit vše Re: bash a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
php do toho moc motat nechci :)
16.5.2013 21:34 Kit
Rozbalit Rozbalit vše Re: bash a mysql
A co třeba Python? V tom by to bylo za chvilku.
rADOn avatar 17.5.2013 17:41 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: bash a mysql
To je moudre
"2^24 comments ought to be enough for anyone" -- CmdrTaco
16.5.2013 20:22 NN
Rozbalit Rozbalit vše Re: bash a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
S cim presne mas problem ?
16.5.2013 20:24 krokodyl
Rozbalit Rozbalit vše Re: bash a mysql
s tim ze nevim jak toho v bashi dosahnout
16.5.2013 20:37 Adamec | skóre: 31
Rozbalit Rozbalit vše Re: bash a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

co treba
http://www.abclinuxu.cz/poradna/programovani/show/285477#3
by nepomohlo? :)

This is not a bug it's a feature
Jendа avatar 16.5.2013 20:59 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: bash a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
MySQL má normálně řádkového klienta, který se překvapivě jmenuje mysql :-). Výsledky budeš muset nějak parsovat. Pro začátek asi bude stačit grep a cut.
17.5.2013 09:46 Jezus | skóre: 15 | Jablunkov
Rozbalit Rozbalit vše Re: bash a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
třeba něco takového?? Pozor na to, jestli je atribut nazev UNIQUE. Jinak si tím můžeš updatovat něco jiného než chceš.
#!/bin/bash

host="xxx"
user="yyy"
passwd="zzz"
database="aaa"

for nazev in `mysql -h $host -p$passwd -u$user $database -e "select nazev from TABULKA where stav=1)" -rNB`; do
  mkdir -p /home/$nazev
  touch /home/${nazev}/soubor
  mysql -h $host -p$passwd -u$user $database -e "update TABULKA set stav=0 where nazev=\"$nazev\""
done
další info k mysql příkazu viz
man mysql
17.5.2013 10:04 Kit
Rozbalit Rozbalit vše Re: bash a mysql
... aneb další návod pro začátečníka, jak se střílet do nohy.
17.5.2013 20:31 NN
Rozbalit Rozbalit vše Re: bash a mysql
:D
17.5.2013 18:39 jekub
Rozbalit Rozbalit vše Re: bash a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
jak psal jenda, existuje řádkový klient mysql. No a pak už stačí vhodně napsaný skript a je to. Jen pro inspiraci

1/ dočasná tabulka (temporary table)

2/ trigger nad tabulkou ze které mají být čtena data a zároveň měněn stav - při změně stavu zapíše do dočasné tabulky co je potřeba

3/ update table set stav=0 where stav=1

4/ select z dočasné tabulky

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.