-
Oprire script?
Azi mi s-a intamplat o chestie tampita: un amic incerca sa faca un script de newsleter in php si il testa pe adresa mea si a lui. A gresit scriptul si a lasat un while in bucla infinita si in consecinta m-am trezit cu mailul plin de mailuri goale de la el (el a scapat ca mailul meu era primul).
Au trecut cam 20 de minute si inca mai primesc mailuri, cum naiba sa faca sa opreasca scriptul ala? E pe plesk. Am peste 3k de mailuri goale de la el :( si continua!
Si in general scripturile astea nu se opresc singure dupa un timp?
PS: chiar nu sunt eu "amicul" :D
-
-
Restarteaza serverul, poti si din plesk. Daca ai access la shell foloseste kill.
-
daca phpul inca ruleaza el trebuie oprit (in functie de modul in care ruleaza);
banuiesc ca nu a fost pus in cron si nu cred ca a fost rulat in command line, asa ca inchiderea browserului ar trebui sa rezolve problema;
oricum, un restart al serverului (teoretic numai al serviciului, practic se poate ajunge la reboot al masinii) ar trebui sa il opreasca;
apoi.. ar trebui updatat codul.. ca sa nu mai fie rulat, chiar si accidental (trecerea whileulul in mod commented, sau adaugarea conditiei "si 0" in conditia lui.. ar trebui sa previna rularea lui pana nu se repara problema)
in felul asta ar trebui ca php sa nu mai trimita nimic catre serverul de mail;
pasul urmator ar fi ca in serverul de mail sa se identifice mailurile netrimise inca si care au fost generate de script si sa fie inlaturate din coada (aici ar trebui sa completeze cineva care se pricepe mai mult la servere de mail);
nu stiu daca am inteles bine intrebarea (mai ales ca nu avea prea multe detalii), dar sper sa fie util raspunsul meu;
numai bine,
-
Multumesc de raspunsuri, nici eu nu stiu prea multe detalii. Cert e ca inca nu s-au oprit mailurile, la faza asta si yahoo e slab, primeste mii de mailuri fara subiect si fara "from" si mi le baga in index.
Banuiesc ca s-a oprit scriptul dar serverul de mail inca mai are de trimis mesaje, omul a sunat la hosting dar inteleg ca a primit mesaje evazive, de genul "ne ocupam noi", si pana acum nu s-a rezolvat nimic.
O sa astept, sper sa se opreasca pana maine :)
-
Daca in script are cumva die la un mysql_query incearca sa modifici numele la tabela,ca se opreste singur.
Daca nu dai apache2ctl restart daca e pe debian(daca ai shell) plesku...
Daca nu modifica numele la database si o sa se opreasca sigur(asta in cazu in care mailul era intr-o baza de date)
-
Daca vrei sa restartezi baza de date:
cd /etc/init.d
./mysql start
-
Ok, in sfarsit s-a rezolvat problema.
Cateva concluzii:
- nu mai ajutati prietenii la crearea scripturilor, ori il faceti voi ori ei;
- nu luati host de la un reseler de host, care cand apar probleme trebuie sa sune ei la host-ul principal sa rezolve. A fost nevoie de 5 telefoane, 5 ore si aprox 15k de mailuri primite ca sa se rezolve problema.
- am rezolvat cu un whois la site-ul amicului -> am aflat host-ul principal -> am sunat -> in 5 minute au incetat mailurile.
- problema a fost exact cum a scris gabriel, scriptul s-a oprit instant dar a apucat sa trimita o cerere de 300k catre serverul de mail, care a rontait linistit la lista asta timp de 5 ore.
- chiar nu exista un filtru care sa permita maxim 1000 de mailuri de pe un domeniu? sau 10k?
- filtrul antispam de la yahoo e varza, a primit 15k de mailuri de la "nobody" cu subiect "no subject" si mi le-a servit tacticos in inbox, chiar si dupa ce am declarat cateva sute din ele ca spam.
-
Incearca data viitoare sa introduci un counter, iar la o anumita valoare (1000 de ex) sa iesi din bucla cu un break.
Si da, spam filterul de la yahoo e degeaba, eu primeam si mailuri care nu erau spam si intrau la spam. Gmailul este mult, mult mai bun.
-
claw,yahoo e bun doar pt mail plus.
Nici gmail nu e cine stie ce.
Primesc foarte mult spam de pe adrese de gmail pt ca au optiunea de folosire de smtp.