22. marts 2004 - 18:17Der er
22 kommentarer og 1 løsning
skal opdatere tabel værdi ved hjælp af shell
Hejsa. Jeg har aldrig arbejdet i shell før og står og skal til at opdatere en tabel værdi i mySQL hvert 20.ende minut. Jeg har ikke adgang til Root og kan derfra ikke lave et cron job. Jeg vil gerne opdater tabellen turns i min database.
Jeg giver 200 points til dem der vil hjælpe mig..da jeg virkelig har brug for det :D
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Ellers er det vel noget med, at du sætter en anden maskine til at gå ind på en bestemt url hvert. 20'ende minut (via cron) .. Stadig grimt.
Eller gøre det via din hjemmeside, således at du på nogle/alle sider, tjekker om der er gået 20 minutter siden sidste "job" og så bearbejder mysql, før du laver resten af siden. Det vil dog så blive kørt "cirka" hver 20ende minut. Dvs hvis du ikke har nogle besøgende i 2 dage, så får du ikke opdateret noget. Tjekket giver også lidt ekstra (database) arbejde.
Jeg overvejede også at, problemet er bare, hvis den "løkke" bliver brudt (fx. ved reboot), så er skidtet nede indtil nogen finder ud af det. Og så kunne jeg forestille mig, at webhotellet havde en idé med at slå cronjobbet fra - så de er nok ikke vilde med alternativet.
Igen: snak med dem om det.. Nogle af dem er faktisk mennesker :-)
okay, så har jeg lige fået svar, de understøtter ikke cron job og vil ikke oprette det til mig, så det må lave igennem Shell, som jeg har mulighed for. kan nogen af jer hjælpe med det?
1: med at komnadoen som sandbox foreslår 2: via php-kode på mange/all dine phpsider 3: vha af en anden maskine der via cronjob står og henter en bestemt url hver 20. minut. (den kalder et php-script hver 20 minut).
Vedr idé 3, så kan jeg snildt smide det i min crontab - men så er du afhængig af mig.
okay, men jeg tror at jeg får størst problemer med den at funktion da jeg overhovedet ikke ved hvordan shell virker, måske ville det være lettest hvis du smed det ind i din crontab?? Eller hvad ville ulempen være ved det?
hehe, ja det kan jeg godt se, hmm men jeg bruger noget der hedder webshell 3, og når sandbox siger at jeg skal sende mig selv en mail derinde fra, bliver jeg helt forvirret, men dennismp kører din crontab 24 timer i døgnet i øjeblikket, fordi det kunne bare være imddlertidigt?
Synes godt om
Slettet bruger
22. marts 2004 - 22:48#15
Og vi kan ikke ret let afveje fordele og ulemper ved de forskellige muligheder, for det kommer an på, hvor vigtigt det er, at det bliver kørt på nøjagtigt hvert 20. minut og hvor meget trafik du har, men her er lidt beskrivelse:
1) at-kommando:
Hvis serveren har været nede, skal den genstartes manuelt. Til gengæld kan den laves ganske præcis med tidspunkter. Men hvis cron ikke er muligt kan du ikke være sikker på, at denne er mulig.
2) integreret i normal php-kode:
Giver lidt større belastning - især hvis du har meget trafik. Kan blive endda ekstremt upræcis, når der ikke er meget trafik.
3) eksternt cron-job, der kalder specifikt php-script:
Giver to servere, der begge skal køre, for at din kode gør som du forventer. Du vil måske være afhængig af en tredjepart. Vil være mere præcis en metode 2 hvis der er få besøg.
metode-1: du kalder et script .. det script udfører så nogle kommandoer, venter 20 minutter og starter forfra.
fordel: Du er ikke afhængig af andre. ulemper: hvis din løkke bliver brudt (f.eks ved reboot, fejl eller lign) så skal du ind manualet og starte den igen.
metode-2: På alle dine sider inkludere du en "cronjob.php" fil. I denne fil tjekker du om det er 20 minutter siden sidst og udfører det der nu skal udføres.
fordel: du styrer showet. Selv ved reboot vil den virke. ulemper: overhead. Ingen garanti for at det bliver kørt hver 20. minut. Du er afhængig af een der ser på din side, som så kan starte showet. Du skal have ekstra kode ved hvert hit, der tjekker om du der er gået 20 minutter siden sidst.
method 3: Få en anden til at kalde dit script hver 20ende minut.
fordel: forholdvis ren. virker ved reboot osv. Ikke ret meget overhead iforhold til 2. Og mere stabil ned 1. Men koden er så ligetil. Du skal bare kode det der skal udføres hvert 20. minut.. Så bliver det kaldt hver 20 minut. ulemper: afhængig af anden server. Hvis denne går ned, så får du ikke opdateret alligevel. Du har ikke mulighed for at styrer selv hvornår dit script skal kaldes.
tusind tak for de gode forklaringer, jeg vil kontakte mit webhotel imorgen og hører med sikkerhed om den at kommando. Jeg regner ikke med at siden bliver vildt belastet, men det kan selvfølgelig være. Jeg tror godt vi kan udelukke metode 2 med det samme. Så er der at kommandoen og cronjob tilbage. Jeg tjekker med at kommandoen imorgen og ligger besked med det samme herinde. :D
Synes godt om
Slettet bruger
22. marts 2004 - 22:55#18
Du behøver såmænd ikke spørge dem. Bare afprøv det. Bortset fra at du skal indtaste din egen emailadresse i stedet for "dinmailadresse" skal du bare skrive af fra mit indlæg.
Synes godt om
Slettet bruger
22. marts 2004 - 22:57#19
Grunden til at den skal sende en mail er, at du skal jo kunne se et resultat, hvis det virker. Da den bliver kørt i baggrunden vil du ikke kunne se det, hvis den forsøger at udskrive normalt.
ja, men problemet var at jeg ikke lige kunne se hvorhenne i shellen jeg skulle skrive den kommando.. :/
Synes godt om
Slettet bruger
23. marts 2004 - 20:43#21
Er din shell ikke bare en kommandoprompt? Så er der vel ikke så mange forskellige steder at skrive. (Det burde være ligegyldigt hvilken mappe du står i.)
undskyld jeg ikke har skrevet før, men min skole ville ikke lade mig skrive svar her, meget mystisk. Men jeg har ikke adgang til shell, selvom jeg kan gå ind i noget som hedder webshell. - så jeg bliver nødt til at have dennismp til at køre en imiddler tidig cron job :/
Smid en mail til mig på dennis@moellegaard.dk - med det link der skal kaldes og hvor tit det skal kaldes.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.