On Mon, 14 Mar 2011 18:03:38 +0100
"Thomas Rosendal Jensen" <tarj1974@xxxxxxxxxxx> wrote:
Det må gerne forklares i pseudo kode
Thomas
"Thomas Rosendal Jensen" skrev i meddelelsen
news:illhl9$eha$1@xxxxxxxxxxxx...
Godt nok.
Men hvordan programmerer man en sådan daemon? i BASH? i PHP?
<KLIP>
Det letteste er nok at blot gøre det i det sprog du er mest komfortabel
med.
Jeg har lavet følgende lille shell eksempel som bruger en Postgresql
database - men database typen er stort set ligegyldig da der findes
shell tilgang til alle databaser (jeg bruger blot normalt Postgresql).
Lad os sige du har lavet en database i Postgresql med navnet
"apachevirtual" med følgende opsætning :
create table tbl_mydata (
id serial primary key,
username varchar(50) not null,
email varchar(255) not null,
spooled boolean default false,
done boolean default false);
(mange hardcore sql programmører vil kvie sig ved brugen af "id" feltet
da username, email burde være unikke i databasen med det springer vi
over for nu).
Hurtig forklaring til felterne :
username, email siger vist sig selv
spooled er et sandt/falsk felt som fortæller om den virtuelle
konfiguration skal oprettes
done er et sandt/falsk felt som fortæller om den virtuelle
konfiguration ER oprettet
Et lille script som f.eks. kan køres hvert 5. min kan så ud noget i
stil med :
#!/bin/sh
updatedb () {
res=`echo "update tbl_mydata set done=true where id=$1" | psql -At
apachevirtual`
}
vhosts=`echo "select id,username, email from tbl_mydata where
spooled=true and done=false" |psql -At apachevirtual`
for vhost in $vhosts; do
id=`echo $vhost|cut -d'|' -f1`
name=`echo $vhost|cut -d'|' -f2`
email=`echo $vhost|cut -d'|' -f3`
###
# echo $id
# echo $name
# echo $email
###
# her laver du så hvad du ellers ville gøre fra dit eget script
# dvs. lav konfigurationsfil / opret biblioteker osv.
###
updatedb $id
done;
Alt dette forudsætter at du har lavet en lille webside hvor brugeren
kan oprette sit domæne...
Før du opretter noget bør du selvfølgelig checke gyldigheden af dine
data - dvs. $name og $email
Mvh
JesperKP