Toon posts:

Cronjob output stoppen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleempje met me webservers op het moment. Ik voer bijna elke minuut via cronjobs wat PHP scriptjes uit, en de output (ook al is tie leeg) komt in een bestand in me root dir te staan. Allemaal leuk en aardig, maar goed naar een paar dagen staan daar dus duizenden files.

Ik vraag ze op met wget, en heb dit altijd zo gedaan. Werkt perfect, maar op deze nieuwe servers output hij dus naar een text bestand. Ik heb al ge-googled en hier gezocht, maar kon niets vinden over dit probleem.

Hoe kan ik deze output madness stoppen?

Draai trouwens de laatste redhat distro, en de crons worden via Cpanel toegevoegd.

[ Voor 4% gewijzigd door Verwijderd op 27-06-2005 09:35 ]


  • Paul
  • Registratie: September 2000
  • Laatst online: 12:57
Je piped de output naar een bestand, dat je ophaalt met wget. Tot zover snap ik het, Dan: nieuwe servers, deze zet de output in een bestand, en plots is dat niet goed meer?

Maar goed, dat heeft weinig met je vraag te maken :P Hoe pipe je die uitvoer? Is dat een deel van de cronjob regel ( >> bestand.txt erachter als je crontab -e doet) of open je in je PHP-scriptje zelf een file en ga je ernaatoe schrijven?

Via die eerste manier kun je de output negeren / weggooien door ipv bestand.txt /dev/null op te geven, die 2e manier stop je door in je scriptjes geen bestanden meer te openen en er dus ook niet meer naar te schijrven :P

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • Aike
  • Registratie: Juli 2000
  • Niet online
Ik zie 2 mogelijkheden die output veroorzaken. Of je heb het meegegeven in je crontab of het zit in je script. Dus geef je crontab maar :)

crontab -l geeft de crontab van de user die je op dat moment bent

Mijn blog over het deployen van Ruby on Rails: RunRails.com


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Paar mogelijkheden:

1) gebruik de 'silent' optie in wget .. Volgens mij is dat '--spider' ofzoiets .. zie hiervoor de man-page.
Hij geeft dan geen output.
2) gebruik ipv wget php-cli .... 'php -f <uit te voeren bestand>' ...
3) laat je cronjob regel zijn output naar /dev/null sturen (zet op het einde ' >/dev/null 2>&1 ' . Echter, ik weet niet of dat helpt in jouw geval .. omdat wget misschien nog steeds het zaakje in bestanden zet dan.

Succes

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 10-02 22:46

SA007

Moderator Tweaking
wget -qO - $url > /dev/null
zou het moeten doen

-q voor geen output op stderr
-O - voor alle uitvoer naar stdout
> /dev/null voor alle uitvoer weg te gooien

Verwijderd

Topicstarter
SA007 schreef op maandag 27 juni 2005 @ 15:57:
wget -qO - $url > /dev/null
zou het moeten doen

-q voor geen output op stderr
-O - voor alle uitvoer naar stdout
> /dev/null voor alle uitvoer weg te gooien
SUPER, dat is hem :) het is hiermee perfect gelukt!

  • Wilke
  • Registratie: December 2000
  • Laatst online: 14:05
In het algemeen, je kunt ook stderr gewoon weggooien:

code:
1
2
3
4
5
6
7
8
# Gooi stdout output weg
eencommando > /dev/null
# Gooi stderr output weg
eencommando 2> /dev/null
# Redirect stderr naar stdout
eencommando 2>&1
# Gecombineerd, gooi beide weg:
eencommando > /dev/null 2>&1
Pagina: 1