Toon posts:

[Linux] Crontab voert records niet uit

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoihoi,

Ben laatst met crontab aan het klooien geweest en van op de één op de andere dag had root geen crontab meer :(

Ik ben pas begonnen met linux dus ik heb weinig kennis op linux gebied.

Wat ik nu gedaan heb is een nieuw textbestandje aangemaakt (cronjobs.root) in /var/spool/cron.

Daarna heb ik het commando "crontab cronjobs.root" uitgevoerd in de map: /var/spool/cron.

Als ik nu "crontab -l" intik krijg ik het textbestandje netjes te zien:

# crontab -l
# Backup htdocs-ftp - htdocs-ftb.b
25 17 * * * root run-parts /etc/cron.daily

Goed, ik heb crontab nog helemaal gerestart (en later nog voor de zekerheid de server gerestart), maar mijn bash scriptje wil maar niet starten ...

Als ik het bash scriptje die in cron.daily staat, los opstart, wordt alles prima uitgevoerd.

Ik heb het idee dat ik iets kleins over het zie, maar ik kan niks vinden in manpages of forums ... Wie kan mij helpen ??

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
als de regel "# Backup htdocs-ftp - htdocs-ftb.b" jouw regel is, is dat een comment, die logischerwijs niet uitgevoerd wordt, omdat het een comment is door de # aan het begin van de regel.
met crontab -e kun je je cronjobs rechtstreeks aanpassen, en man 5 crontab legt je haarfijn hoe die file er uit moet zien.

[ Voor 7% gewijzigd door blaataaps op 23-08-2003 17:59 ]


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

moto-moi

Ja, ik haat jou ook :w

En een 3e tip is : er moet een lege regel onderaan staan, anders doet je laatste crontab regel het namelijk niet ..

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


Verwijderd

Topicstarter
blaataaps schreef op 23 August 2003 @ 17:58:
als de regel "# Backup htdocs-ftp - htdocs-ftb.b" jouw regel is, is dat een comment, die logischerwijs niet uitgevoerd wordt, omdat het een comment is door de # aan het begin van de regel.
met crontab -e kun je je cronjobs rechtstreeks aanpassen, en man 5 crontab legt je haarfijn hoe die file er uit moet zien.
"# Backup htdocs-ftp - htdocs-ftb.b" is een commentaar regeltje...

Ik heb geprobeerd man 5 crontab te openen, maar dan krijg ik dit: No entry for crontab in section 5 of the manual. 2, 3 en 4 Doen het ook niet.

Bedankt voor je post!

  • Sendy
  • Registratie: September 2001
  • Niet online
Je man pages zijn dan een beetje in de war. Probeer anders man -k cron eens. Dan krijg je alle man pages die iets met cron te maken hebben.

Het is een beetje onduidelijk hoe het shell script dat je geschreven hebt heet. We kunnen zo niet zien of je het goed in je crontab hebt geschreven. We willen ook je distributie weten. In Debian (wat je lijkt te hebben) zou een nieuw shell script in /etc/cron.daily gewoon moeten gaan draaien, zonder dat je iets in de crontab wil zetten. Ik vind die # Backup regel wat vaag. Als dat van jou is moet je in ieder geval paden naar je scriptje in zetten. (en oncommentarieren).

Oh, wat ik vergeten was: in Debian hoef je geen crontab als root te hebben. De systeem crontab (in /etc/crontab) doet alle systeemtaken.

[ Voor 11% gewijzigd door Sendy op 23-08-2003 18:48 ]


Verwijderd

Topicstarter
moto-moi schreef op 23 augustus 2003 @ 18:33:
En een 3e tip is : er moet een lege regel onderaan staan, anders doet je laatste crontab regel het namelijk niet ..
Das waar ook! Helemaal vergeten. Ik heb er nu een lege regel onder vrijgelaten met daar weer onder op een nieuwe regel een hekje:

# crontab -l
# Backup htdocs-ftp - htdocs-ftb.b
45 18 * * * root run-parts /etc/cron.daily

#

En hij doet het nog steeds niet ... :(

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 30-01 13:52

grep

meer begrep...

waarom dat hekje nou weer?
Je cron moet eindigen met een line feed en dat doe je nu nog steeds niet...
Gewoon een enter geven achter je laatste cronjob, saven, klaar.

Verwijderd

Topicstarter
Thuissendy schreef op 23 augustus 2003 @ 18:47:
Je man pages zijn dan een beetje in de war. Probeer anders man -k cron eens. Dan krijg je alle man pages die iets met cron te maken hebben.

Het is een beetje onduidelijk hoe het shell script dat je geschreven hebt heet. We kunnen zo niet zien of je het goed in je crontab hebt geschreven. We willen ook je distributie weten. In Debian (wat je lijkt te hebben) zou een nieuw shell script in /etc/cron.daily gewoon moeten gaan draaien, zonder dat je iets in de crontab wil zetten. Ik vind die # Backup regel wat vaag. Als dat van jou is moet je in ieder geval paden naar je scriptje in zetten. (en oncommentarieren).

Oh, wat ik vergeten was: in Debian hoef je geen crontab als root te hebben. De systeem crontab (in /etc/crontab) doet alle systeemtaken.
Ik draai slackware 9.

#!/bin/bash

/usr/bin/rsync --archive --delete --one-file-system /htdocs-ftp/ /htdocs-ftp.b

Het bovenstaande is mijn bash scriptje die los van crontab vlekkeloos werkt.
Wat er letterlijk in mijn crontab staat is nu dit:

# Backup htdocs-ftp - htdocs-ftb.b
45 18 * * * root run-parts /etc/cron.daily

Verwijderd

Topicstarter
grep schreef op 23 August 2003 @ 19:03:
waarom dat hekje nou weer?
Je cron moet eindigen met een line feed en dat doe je nu nog steeds niet...
Gewoon een enter geven achter je laatste cronjob, saven, klaar.
ok ok, is al gewijzigd.

  • Sendy
  • Registratie: September 2001
  • Niet online
En dat script staat in /etc/cron.daily. Vaag hoor ;) Daarnet om 18:45 is de crontab niet uitgevoerd?

Heb je een bestand /etc/crontab? Staan daar die .daily, .weeny en .monthly in? Dan kan je de crontab van root verwijderen, want dan regelt het system die directories al. Is de rest van je cron.daily taakjes _wel_ uitgevoerd?

Verwijderd

Topicstarter
Thuissendy schreef op 23 August 2003 @ 19:22:
En dat script staat in /etc/cron.daily. Vaag hoor ;) Daarnet om 18:45 is de crontab niet uitgevoerd?

Heb je een bestand /etc/crontab? Staan daar die .daily, .weeny en .monthly in? Dan kan je de crontab van root verwijderen, want dan regelt het system die directories al. Is de rest van je cron.daily taakjes _wel_ uitgevoerd?
Ik heb geen /etc/crontab ... :|

  • Sendy
  • Registratie: September 2001
  • Niet online
Ok. Dit is mijn /etc/crontab op Debian:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
25 6    * * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6    * * 7   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6    1 * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly
#

Dus met een # sluiten en dan twee lege regels. Dat is vast om dat probleem van boven tegen te gaan. Dit spreekt denk ik vanzelf. Ik weet natuurlijk niet of jouw cron dezelfde is als mijne.

Probeer deze eens. Ik weet niet veel van Slackware, maar misschien is het niet helemaal goed geinstalleerd? Omdat je ook al niet man 5 crontab hebt?

[ Voor 8% gewijzigd door Sendy op 23-08-2003 19:40 ]


Verwijderd

Topicstarter
Thuissendy schreef op 23 augustus 2003 @ 19:38:
Ok. Dit is mijn /etc/crontab op Debian:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
25 6    * * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6    * * 7   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6    1 * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly
#

Dus met een # sluiten en dan twee lege regels. Dat is vast om dat probleem van boven tegen te gaan. Dit spreekt denk ik vanzelf. Ik weet natuurlijk niet of jouw cron dezelfde is als mijne.

Probeer deze eens. Ik weet niet veel van Slackware, maar misschien is het niet helemaal goed geinstalleerd? Omdat je ook al niet man 5 crontab hebt?
Waarom ik man 5 crontab niet heb weet ik niet, maar de cron heeft het tot nu toe gedaan totdat ik eraan heb zitten klooien ...

Verwijderd

Topicstarter
Ik begrijp er echt niks van ... Ik heb nu niet de map maar het scriptje zelf aangeroepen met cron en hij doet het! Wat doe ik dan fout dat hij geen scripts uit een mapje kan starten?

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 09:20
Verander die #!/bin/bash eens in #!/bin/sh, heb ook wel eens gehad dat mijn taak in cron.daily gewoon NIET uitgevoerd werd, was een perlscript met #!/usr/bin/perl bovenin, shellscript eromheengebouwd die perl met dat perlscript aanriep en alles werkte gewoon. Kan best zijn dat cron gewoon geen non-sh shells aanroept.

  • Sendy
  • Registratie: September 2001
  • Niet online
Probeer anders eens 'run-parts <dir-met-scripts>' aan te roepen. Alle scripts in de directory zouden dan aangeroepen moeten worden.
Pagina: 1