Toon posts:

mijn eerste scriptje voor cron.hourly

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo..

Ik heb een scriptje gemaakt wat als het uitgevoerd wordt een map synchroniseerd met een andere server.

ik heb dit scriptje in /etc/cron.hourly gezet

nu dacht ik dat dit voldoende was, alleen neemt cron niet mijn scriptje mee.

iemand enig idee ?

  • Renegade
  • Registratie: December 2000
  • Laatst online: 14-10-2020
Je kunt niet standaard een file aanmaken en die in je cron dir. zetten voor zover ik weet.

uit de crontab man:
Each user can have their own crontab, and though these are files in /var, they are not intended to be edited directly.
Dus ff de file maken met behulp van crontab zelf.

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
@BasRaayman op twitter


Verwijderd

Topicstarter
Op donderdag 07 maart 2002 11:43 schreef Renegade het volgende:
Je kunt niet standaard een file aanmaken en die in je cron dir. zetten voor zover ik weet.

uit de crontab man:
[..]

Dus ff de file maken met behulp van crontab zelf.
uhh. hoe doe ik dit.. zou je me een voorbeeld kunnen geven ?

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
code:
1
man 5 crontab


code:
1
crontab -e

je zou iets als 0 * * * * /path/script
kunnen doen

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Op donderdag 07 maart 2002 11:11 schreef dmaster het volgende:

Ik heb een scriptje gemaakt wat als het uitgevoerd wordt een map synchroniseerd met een andere server.

ik heb dit scriptje in /etc/cron.hourly gezet

nu dacht ik dat dit voldoende was, alleen neemt cron niet mijn scriptje mee.
Misschien wordt je scriptje niet gepakt door "run-parts" het programma dat voor cron alle scripts in die directory pakt. Probeer eens 'man run-parts' en hoop dat je een manpage krijgt, het viel mij namelijk op dat Redhat er geen manpage voor heeft, maar Debian wel.

Je kan ook eens run-parts handmatig starten in de directory /etc/cron.hourly en kijken wat er gebeurd.

Andere cron scripts in /etc/cron.hourly doen het wel goed?

[edit: klein foutje gefixed]

Please do not contact me telepathically.


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 09-08 08:59

Valium

- rustig maar -

Er is toch standaard geen cron.hourly? Een paar distro's geleden moest ik die nog met de hand aanmaken. Er was alleen een cron.daily en cron.weekly en cron.monthly.

Maar je kunt natuurlijk even je cron checken of hij de scripts wel uitvoert in cron.hourly. Ook moet je kijken of je script wel werkt, maar dat zul je wel getest hebben. Ook kun je hem eens in een andere map gooien om te kijken of hij dan wel uitgevoerd wordt.

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Op donderdag 07 maart 2002 12:20 schreef Valium het volgende:

Er is toch standaard geen cron.hourly? Een paar distro's geleden moest ik die nog met de hand aanmaken. Er was alleen een cron.daily en cron.weekly en cron.monthly.



Maar je kunt natuurlijk even je cron checken of hij de scripts wel uitvoert in cron.hourly. Ook moet je kijken of je script wel werkt, maar dat zul je wel getest hebben. Ook kun je hem eens in een andere map gooien om te kijken of hij dan wel uitgevoerd wordt.
Het lijkt er op dat dat van je distro afhangt... RH 6.2 & 7.2 hier hebben er wel een, maar Debian Potatoe weer niet... :)

Please do not contact me telepathically.


  • Whizzer
  • Registratie: November 2000
  • Laatst online: 16-08 21:58

Whizzer

Flappie!

Natuurlijk een domme opmerking van mij als ik zeg:

De rechten op het bestand staan goed?? Dus met execute rechten??

Ik ben geweldig.. en bescheiden! En dat siert me...


Verwijderd

Afhankelijk van welke distro je gebruikt verwacht
cron dat je scripts beginen met

#!/bin/sh

als je dit nog niet in je script hebt staat is het
zeker de moeie waard omdat te proberen

Verwijderd

Topicstarter
mijn script in /etc/cron.hourly begint met #!/bin/sh

mijn script heeft wel executable rechten

mijn distro is 7.0 en hier staat wel standaard /etc/cron.hourly op (weet niet als dit automatisch wordt toegevoegd bij compileren nieuwe kernel ik heb 2.4.16 )

ik zal eens verder zoeken in de man van cron maar ben er tot nu toe nog niet uit........

  • JJay
  • Registratie: Mei 2000
  • Laatst online: 11-09-2018

JJay

Hit me!

Is het niet zo dat je eerst je crond een trap moet geven zodat ie je cronfiles opnieuw inleest...?
In Slackware moet je bijvoorbeeld de naam van de table die je geëdit hebt echo'en in de /var/spool/cron/crontabs/cron.update file. (Of netjes crontab -e gebruiken). crond pakt deze file op binnen een korte tijd, herlaad de tables die jij ge-echo'd hebt en unlink't de file dan weer.
Keer je crond kill'en en starten kan ook geen kwaad >:)

Hardcore-Networking-Wannabe's© | Artistiek? Jahoor! ik kan heel goed MRTG-grafiekjes kleuren


  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Je weet ook zeker dat je cron daemon wel draaid? ;)

En wat bedoel je met:
mijn distro is 7.0 en hier staat wel standaard /etc/cron.hourly op (weet niet als dit automatisch wordt toegevoegd bij compileren nieuwe kernel ik heb 2.4.16 )
Redhat 7.0? SuSe 7.0? Mandrake 7.0? :? :? :?

Please do not contact me telepathically.


Verwijderd

Topicstarter
Op vrijdag 08 maart 2002 00:16 schreef squee het volgende:
Je weet ook zeker dat je cron daemon wel draaid? ;)

En wat bedoel je met:
[..]

Redhat 7.0? SuSe 7.0? Mandrake 7.0? :? :? :?
eigenlijk niets bijzonders.. was om aan te geven welke versie linux ik draaide (redhat in mijn geval)
dit na aanleiding over het default aanwezig zijn van /etc/cron.hourly

Maar een reboot van linux of een restart van cron was niet de oplossing.. ik ga weer verder proberen...

  • Sihaya
  • Registratie: Juni 2001
  • Niet online

Sihaya

Pasfoto:

Bestaat er een /etc/crontab en staan hierin de tijden wel goed

signature has expired


Verwijderd

Topicstarter
als ik het commando : crontab -l geef als ik als root ben ingelogt wordt er gezegd dat er geen crontab bestaat voor user root.

er is wel een /etc/crontab file aanwezig.

dit is de inhoud:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly


in /etc/cron.hourly staan nu 2 scripts

maar degene welke ik heb toegevoegd wordt niet uitgevoerd.

ik begrijp hieruit.. dat ik alsnog iets moet doen met crontab -e maar wat moet ik hier dan ingeven? er wordt begonnen met een lege file... en wat kan ik nu doen met het bestaande scriptje in /etc/cron.hourly ?

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
zelf een crontab maken met "crontab -e" en dan de config voor je scriptje niet in het hourly bestand zetten, maar in deze nieuwe crontab...

Voor de instellingen wat betreft tijden kun je de manpage van cron en crontab er eens bijpakken, maar ik stel voor dat je "00 * * * *" doet...

Cheers!

Liege, liege, liegebeest!


Verwijderd

Topicstarter
begrijp k het nu goed ?

1) maak een nieuwe crontab aan voor user root, door : crontab -e

2) vervolgens zet onderstaande tekst in de te aan te maken crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
00 * * * * root run-parts /etc/cron.hourly/testscript

3) vervolgens cron restarten of pc rebooten.


wat is dan het verschil tussen: 00 * * * * en 01 * * * *
in het crontab bestandje ?

doe ik het nu goed :?

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Op vrijdag 08 maart 2002 12:06 schreef dmaster het volgende:




wat is dan het verschil tussen: 00 * * * * en 01 * * * *
in het crontab bestandje ?
00 of 01 is de minuut. 00 doet hij het op elk heel uur, dus 12:00, 13:00 ( *:00 dus), en met 01, 1 minuut over elk uur, 12:01, 13:01 ( *:01 dus)

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Ik dacht misschien is het handig als ik voor je even de man-page van run-parts van Debian voor je post, aangezien Redhat er geen man-page van heeft:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
RUN-PARTS(8)                                RUN-PARTS(8)

NAME
     run-parts - run scripts or programs in a directory

SYNOPSIS
     run-parts   [--test]   [--verbose]   [--report]   [--umask=umask]
     [--arg=argument] [--help] [--version] directory

DESCRIPTION
     run-parts runs a number of scripts or programs found in a  single
     directory  directory.  Filenames should consist entirely of upper
     and lower case letters, digits, underscores, and hyphens.  Subdi­
     rectories  of  directory  and  files  with  other  names  will be
     silently ignored.

     Scripts must  follow  the  #!/bin/interpretername  convention  in
     order to be executed.  They will not automatically be executed by
     /bin/sh.

     The files found will be run in the  lexical  sort  order  of  the
     filenames.

   OPTIONS
     --test print  the  names  of  the scripts which would be run, but
          don't actually run them.

     --verbose
          print the name of each script to stderr before running.

     --report
          similiar to --verbose, but only prints the name of scripts
          which  produce  output.   The  script's name is printed to
          whichever of stdout or stderr the  script  first  produces
          output on.

     --umask=umask
          Sets the umask to umask before running the scripts.  umask
          should be specified in octal.  By default the umask is set
          to 022.

     --arg=argument
          Pass  argument  to  the  scripts.  Use --arg once for each
          argument you want passed.

     --     Specifies that this is the end of the options.  Any  file­
          name after -- will be not be interpreted as an option even
          if it starts with a hyphen.

     --help Display usage information and exit.

     --version
          Display version and copyright and exit.

COPYRIGHT
     Copyright (C) 1994 Ian Jackson.  Copyright (C) 1996  Jeff  Noxon.
     Copyright (C) 1996,1997,1998 Guy Maor

     run-parts  is  free  software; see the GNU General Public Licence
     version 2 or later for copying conditions.  There is no warranty.

Debian Linux             5 June 1996            RUN-PARTS(8)

Let vooral op het eerste stukje!
run-parts runs a number of scripts or programs found in a single directory directory. Filenames should consist entirely of upper and lower case letters, digits, underscores, and hyphens.
Heb je je scriptje soms <scriptnaam>.sh genoemd ofzo? dan werkt het dus niet met run-parts.
Heb je nog gekeken of het wel wordt uitgevoerd als je naar /etc/cron.hourly gaat en handmatig run-parts opstart?

Op zich zou je niets in je crontab of wat dan ook hoeven veranderen, het script in /etc/cron.hourly zetten zou voldoende moeten zijn. Cron zou hier niet eens herstart voor hoeven worden. :)

Please do not contact me telepathically.


  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
>1) maak een nieuwe crontab aan voor user root, door :
>crontab -e
Jep... Het voordeel van deze aanpak is dat je cron NIET overnieuw hoeft te starten...

>2) vervolgens zet onderstaande tekst in de te aan te maken >crontab
code:
1
2
3
4
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

Dit deel NIET

>00 * * * * root run-parts /etc/cron.hourly/testscript
dit deel wel, maar ik zou je script ergens anders neerzetten... in de homedir van root ofzo:
00 * * * * root run-part /root/testscript

>3) vervolgens cron restarten of pc rebooten.
Dat hoeft dus niet meer... Crontab -e zorgt er voor dat cron meteen de nieuwe config inleest...

>wat is dan het verschil tussen: 00 * * * * en 01 * * * *
>in het crontab bestandje ?
zoals gezegd: een minuutje..
De syntax: <minuut> <uur> <dag> <maand> <dag van de week>

cheers!

Liege, liege, liegebeest!


Verwijderd

Topicstarter
Thnx... allemaal het werkt *D

Verwijderd

Mooi dat het werkt! Maar wat is dat vage idee van cron.hourly, cron.monthly ed. Op mijn systeem staan ze ook en ik gebruik ze eigenlijk nooit (doe altijd crontab -e <user>). Waarom kan je die niet gebruiken? Ben eigenlijk gewoon nieuwgierig..

Verwijderd

Topicstarter
Ik dacht dat het werkte maar helaas ... :'(

ik gebruik nu in ieder geval crontab -e

als ik het script handmatig uitvoer werkt het echter wel prima.. :?

zelfs de log file geeft aan dat het script elke keer wordt uitgevoerd :?

Mar 10 06:00:00 Proxy CROND[5542]: (root) CMD (root run-parts /root/cron/mymirror)
Mar 10 06:01:00 Proxy CROND[5551]: (root) CMD (run-parts /etc/cron.hourly)
Mar 10 06:10:00 Proxy CROND[5558]: (root) CMD ( /sbin/rmmod -as)
Mar 10 06:20:00 Proxy CROND[5560]: (root) CMD ( /sbin/rmmod -as)
Mar 10 06:30:00 Proxy CROND[5562]: (root) CMD ( /sbin/rmmod -as)
Mar 10 06:40:00 Proxy CROND[5564]: (root) CMD ( /sbin/rmmod -as)
Mar 10 06:50:00 Proxy CROND[5567]: (root) CMD ( /sbin/rmmod -as)

iemand enig idee ???

Verwijderd

Mischien is dit dan wat voor je.
Ik gebruik zelf SuSe met KDE2, hierin zit een onderdeel waarmee je je cronjobs kunt bewerken, Makkelijke progie en werkt goed. Hoef je ook geen scripts te hacken enzo.
Pagina: 1