Toon posts:

[Linux] Root voert geen crontab uit

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mede tweakers,

ik heb mandrake 9.1 draaien op mijn server en heb de kernel gepatched met grsec.

Nu heb ik voor met webalizer stats een scriptje gemaakt die meerde vhosts na elkaar doet. Alleen root kan bij de log bestanden, dus moet ik dat scriptje draaien onder root in een cronjob.

Maar nu mijn probleem, ik heb dit in mijn crontab staan "0 * * * * /root/webalizer.pl
". Zodat ie ieder uur dat scriptje uitvoert. Normaaal lijd ik alles nog om zodat ik geen mail krijgt. Maar het lijkt wel dat de crontab het niet doet voor gebruiker root.

Ik krijg geen mail dat de cronjob is uitgevoerd. Ik draai nog een aantal andere crontabs onder accounts van users en die draaien wel.

weet iemand waarom dit is en hoe ik wel aan de gang kan krijgen?

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 18:38

deadinspace

The what goes where now?

Staat er een afsluitende newline achter die laatste regel? Zo nee, dan voert cron die regel niet uit (en klaagt daar vervolgens ook niet over).

Verwijderd

Topicstarter
nee, dat is de enige regel.

Maar in de crontab van een andere user staat ook geen newline achter en dit wordt wel uitgevoerd. Maar zal het eens proberen.

Verwijderd

Topicstarter
het doet nog niks,
zelfs niet als ik de hele uitvoer regel van webalizer erin zet (niet via mijn scriptje):

* * * * * webalizer -n test.nl -o /path -t "Statistics" /var/log/httpd/test.nl/access_log >/dev/null 2>&1

weet iemand hoe dit zou kunnen ??

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
het is niet echt logisch om output weg te gooien als je gaat debuggen :?
Huisarts: Zeg maar wat je mankeert, maar hou wel je bek dicht :)

  • Joker
  • Registratie: Juli 2001
  • Niet online

Joker

 

Staat root wel in de /etc/cron.allow (als dat bestand bestaat, dan moet ie er in staan)? Of staat root in /etc/cron.deny (in dat geval: er uit halen)?

Doet ie 't met een simpel scriptje of programmaatje wel? Bijv. bij het uitvoeren van het volgende script:

#!/bin/bash
echo UITGEVOERD | tee -a /tmp/test.log

(Moet een mailtje en een melding in /tmp/test.log opleveren).

Verwijderd

Topicstarter
hmmm
als iets anders in mijn crontab zet, zoals "echo UITGEVOERD | tee -a /tmp/test.log" dan werkt het.
Dus de crontab loopt.

Nu heb ik dus mijn webalizer scriptje in perl, daarin staat system("echo UITGEVOERD | tee -a /tmp/test.log");

Als ik dat vanuit de commandline start, dan werkt het (./webalizer.pl).
maar zodra ik die aanroep in mijn crontab * * * * * /root/webalizer.pl dan voert ie niets uit :(

  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 01-05 15:00
Maar heb je achter de laatste (in jou geval enige) regel wel een enter staan, zoals deadinspace vraagt? Want dat haal ik er niet uit de draad.

Verwijderd

Topicstarter
echt raar, alles in de crontab doet het, behalve als ik iets met webalizer wil doen

zo ziet mijn crontab er nu uit :

[root@bytesonline root]# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.19766 installed on Thu Sep 4 22:26:01 2003)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
* * * * * /root/webalizer.pl >/dev/null 2>&1
* * * * * webalizer -n host -o /path/stats -t "Statistics" /var/log/httpd/access_log >/dev/null 2>&1

[root@bytesonline root]#

maar het doet allebij niks :(

oja, in webalizer.pl wordt twee een system call gedaan, met een webalizer statement.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Mjah, zoals usr-local-dick al zegt : haal die >/dev/null 2>&1 eerst eens weg, en ga je mail bekijken.. Zo debuggen slaat natuurlijk als een tang op het spreekwoordelijke kamerolifantje..

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • jant
  • Registratie: Juli 2000
  • Niet online
Verwijderd schreef op 04 September 2003 @ 22:35:
echt raar, alles in de crontab doet het, behalve als ik iets met webalizer wil doen
Doe eens een ls -l van die webalizer.pl

Als ik dit zo eens bekijk dan kan dat ding wel eens geen executable rechten hebben.

Een album per dag; een selectie: https://open.spotify.com/playlist/6s3nNLl8pJpCwLR3LPligA?si=dddc51153b2a49e8


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

doe eens bij die tweede het volledige path voor webalizer

Skill is when luck becomes a habit.


Verwijderd

Topicstarter
eek schreef op 05 september 2003 @ 12:51:
doe eens bij die tweede het volledige path voor webalizer
klopt, zo werkt het... had het nog ff na gevraagd aan een "expert". Hij wist me te vertellen dat de crontabs niet draaien in een "bash" of iets, daarom moest je het volledige pas aanroepen.

Nu werkt het :)
Pagina: 1