Okej,
Det finns nog två (eller fler) vägar att välja på här.
1) Antingen tar du ett färdigt exempel, t.ex. switchkingskriptet som riro länkade till
2) Eller så får du gå lite SQL/PHP skola på nätet o här på forumet
Jag tog alt 2 då jag ofta vill ha egen touch på saker o ting, samt inte är helt rädd att programmera o prova på saker. Det underlättar givetvis om du har någon bakgrund med datorer o programmering, om så bara i Basic på en ZX Spectrum 48K som jag började med på åttiotalet...
Prova lite "hello world" prylar (ja, det går att googla på "
hello world mysql" o andra saker - var inte rädd att "datorn går sönder"...
Du har ju trots allt skaffat dig en RPi, MySQL och fått in en dump av en tabell det är tom mer än vad jag gjort!
Antar att du vet vad följande SQL sats gör?
mysql> select now();
Anta att du vill köra den 1 ggr/minut o låta output gå till en logfil?
Laga följande textfil o lägg den på t.ex. /usr/local/bin med något passande namn, t.ex. "tid".
Observera att du måste byta ut user, pw och o db mot den user o databas du har i din RPi.
Kod: Markera allt
#!/bin/bash
mysql --user=user --password=pw << ENDSQL
use db
select now();
ENDSQL
[/color]
Se till att den blir exekverbar med
$ sudo chmod 755 /usr/local/bin/tid
Prova att köra skriptet...
$ tid
(du behöver inte ge full sökväg till skriptet - /usr/local/bin finns med i PATH variabeln...)
Okej, om du nu vill köra detta 1 ggr/minut så är det enklast att låta cron göra saken.
Underskatta aldrig kraften i "man" - prova "man man"...
$ man cron
$ man crontab
cron o crontab kan användas för att schedulera saker o ting i Linux.
Formatet står omnämnt i manualerna. Följande entry i cron skulle köra ditt tidsskript varje minut
* * * * * /usr/local/bin/tid
Dock skulle outputen bli mailad till dig och så småningom fylla disken.
För att ta reda på output kan man pipea man den till filer.
* * * * * /usr/local/bin/tid > /tmp/tid.log 2>&1
Ovanstående rad skickar outputen till /tmp/tid.log. 2>&1 ordnar så att ev. fel oxo skickas till samma fil, annars går de som mail.
Ett alternativ är:
* * * * * /usr/local/bin/tid > /tmp/tid.log 2> /tmp/tid.fel.log
För att få skapa cronjob måste användaren finnas med i filen:
/etc/cron.allow
För att bekvämt kunna köra jobb som "pi" (defaultanvändaren) måste du se till att det finns en rad i filen som innehåller "pi", min cron.allow ser ut så här (cat används för att dumpa dvs "läsa ut" filer till kommandoraden:
$ cat /etc/cron.allow
pi
För att addera cronjobbet, lägg raden "* * * * * /usr/local/bin/tid > /tmp/tid.log 2>&1" i en textfil, t.ex. pi.cron och "läs in den" med:
$ crontab pi.cron
Verifiera med:
$ crontab -l
Sen är det bara att vänta på nästa minut och sen förhoppningsvis se resultatet på /tmp katalogen.
Med detta bakom dig är det bara att fortsätta att följa de exempel jag givit tidigare, t.ex. att läsa innehållet i "/mnt/1wire/10.1CF43E010800" filen o "trycka in" det i din databas.
Återkom med kommentarer...
/f