[linux] Re: Output probleem in cron

Paul Slootman paul+nospam op wurtel.net
Do Aug 25 16:11:01 CEST 2005


On Thu 25 Aug 2005, Cecil Westerhof wrote:
> Op do, 25-08-2005 te 12:39 +0200, schreef Paul Slootman:
> > On Thu 25 Aug 2005, Cecil Westerhof wrote:
> > > 
> > > Dit werkt in principe goed op een vreemd probleem na. Bijna altijd is er
> > > alleen output in mijn e-mail van het eerste stuk van het script. Het
> > > hele script wordt wel uitgevoerd, want als ik daarna het script
> > > handmatig uitvoer zie ik dat wat in SpamFalse staat, is verwerkt.
> > 
> > Nu maak je de aanname dat alles precies hetzelfde gaat als je het
> > handmatig uitvoer... maar je hebt net al gezegd dat dat niet het geval
> > is, want in het ene geval zie je wel output op het eind, en in het
> > andere geval niet. Dus deze zin:
> >     "Het hele script wordt wel uitgevoerd, want als ik daarna het script
> >     handmatig uitvoer zie ik dat wat in SpamFalse staat, is verwerkt."
> > deugt niet.
> 
> Jawel. Als er voordat de cronjob werd uitgevoerd er een niet verwerkte
> e-mail in spamfalse stond en daarna niet meer, dan moet het commando
> zijn uitgevoerd.

Ja, maar dat schreef je niet (expliciet dan :-)
Ik las "als ik daarna de script met de hand uitvoer, dan verwerkt ie wat
in SpamFalse staat".
Wordt SpamFalse dan leeggegooid ofzo door sa-learn?

> Daarnaast, cron moet zich toch gedragen alsof een commando van de
> terminal is aangeroepen? (cron en handmatig worden door de zelfde user
> gebruikt)

Nee hoor... hoeft niet. Als je iets in .bash_profile zet (PATH aanpast
bijvoorbeeld), dan wordt dat niet gedaan vanuit cron. Er was niet zo
lang geleden hier iemand die een vergelijkbaar probleem had, bleek ook
aan PATH te liggen (en dus aan foute aannames). Nooit iets aannemen
dus...

> En als
> 	sa-learn --ham ~/Maildir/.SpamDir.SpamFalse/cur/
> een foutmelding geeft, dan zou ik die toch moeten zien?
> En dan zou ook 
> 	sa-learn --spam ~/Maildir/.SpamDir.SpamNotFound/cur/
> ook een foutmelding moeten geven.

Terzijde: ik zou sowieso $HOME gebruiken ipv. ~

> Daarnaast zou ik dan niet soms de output van de rest van het script wel
> moeten zien.

Begrijp ik hieruit dat je soms wel de rest van de output ziet? Het is
niet zo duidelijk wat je bedoelt...

> Voor de zekerheid heb ik nu wel aan het eind van het script een touch
> toegevoegd.

zet ook "set -x" bovenin de script, dan laat ie op stderr zien wat ie
uit gaat voeren.


Paul Slootman



More information about the Linux mailing list