Vraag Wanneer rent `cron.daily`?


Wanneer worden vermeldingen in cron.daily (en .weekly en .hourly) uitvoeren en is het configureerbaar?

Ik heb hier geen definitief antwoord op gevonden en hoop dat er een is.

Ik run RHEL5 en CentOS 4, maar voor andere distributies / platforms zou het ook geweldig zijn.


178
2018-04-26 15:31


oorsprong


Op NetBSD, de tijden voor de dagelijkse, wekelijkse, maandelijkse cronjobs worden ingesteld in de crontab van de hoofdmap. - hd1
Deze vraag zou nuttiger zijn als de vraag meer generiek was. Stel de vraag op zijn minst generiek voor alle versies van redhat, centos distros in plaats van alleen voor versies 4 en 5 (die niet veel worden gebruikt en "einde van de productie" (gelijkwaardig aan eind van het leven). - Trevor Boyd Smith
@TrevorBoydSmith - deze vraag werd bijna 8 jaar geleden gesteld. Vraag gerust een update voor nieuwere versies. Maar RHEL 6 bestond niet eensin april 2010: access.redhat.com/articles/3078#RHEL6 - warren
@warren mijn bedoeling is niet om kritiek te leveren, maar gewoon om de vraag en stackoverflow in het algemeen te verbeteren. (ik begrijp dat RHEL 6 niet bestond toen de vraag werd gesteld, want de vraag heeft zoveel upvotes dat het leuk zou zijn om deze meer generiek te hebben.) - Trevor Boyd Smith
@TrevorBoydSmith .. er is al een antwoord voor CentOS / RHEL 6 :) ... Ik zou graag goede bewerkingen van u goedkeuren als u ideeën heeft. Ga je gang en voer voorgestelde bewerkingen uit voor de vraag die je hebt bedacht - warren


antwoorden:


Voor de distributies die u noemt:

Op CentOS 5.4 (moet hetzelfde zijn voor RHEL5)

grep run-parts /etc/crontab

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

Dus cron.daily draait om 04:02 uur.

Hetzelfde op CentOS 4.8


136
2018-04-26 16:23



Is er een reden achter? Ik kan alleen maar aannemen dat het de stilste tijd op de server is. - The Pixel Developer
@ hoe laat loopt het in ubuntu? kunt u vertellen hoe ik het kan controleren? ik kan de uitvoer van de opdracht niet begrijpen - Narendra Jaggi
@NarendraJaggi het commando "run-parts" betekent "alles in deze map uitvoeren". De cron.daily, etc. mappen werken omdat er een cron-taak is om run-parts in deze mappen uit te voeren. Zo grep run-parts /etc/crontab vindt gewoon de instructies op wanneer run-parts wordt aangeroepen voor elk van deze mappen. - Jordan Reiter
Dit is niet langer een geldig antwoord voor CentOS 6 of hoger, scrol omlaag voor meer informatie. - lzap


Van de manpagina:

 Cron also searches for /etc/anacrontab

/etc/anacrontab in mijn systeem (Fedora 12):

1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

Zie ook man anacrontab


63
2018-04-26 15:35



Dit is het geval met CentOS 6. Bedankt. - mbrownnyc
Dat betekent 5 uur elke "1" dag ?. Sorry, maar dit beantwoordt niets. - elysch
@elysch Laat me de laatste regel van mijn antwoord herhalen: zie ook "man anacrontab" - leonbloy
Goede uitleg van anacron hier. Eigenlijk, anacron heeft geen vaste starttijd, maar zal het proces starten op basis van wanneer het laatste proces liep, met een gespecificeerde vertraging. Als het apparaat is uitgeschakeld tijdens het proces had moeten rennen, dan zal het het proces starten wanneer de machine terugkomt, na de gespecificeerde vertraging (behoudens geen speciaal bereik + willekeurige vertraging, zie antwoord door @spechal). - storm_m2138
@mbrownnyc en ook CentOS-7 ook - Trevor Boyd Smith


Voor CentOS 6 moet je grep / etc / anacrontab gebruiken en het antwoord varieert als de server / laptop / desktopversie / etc is uitgeschakeld of niet.

cat /etc/anacrontab 
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1   5   cron.daily      nice run-parts /etc/cron.daily
7   25  cron.weekly     nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly        nice run-parts /etc/cron.monthly

Dus, tussen de uren van 3AM en 10 PM * (na herstarten en nadat de machine 5 minuten is opgehouden ^^), voer je /etc/cron.daily uit. Als er niet opnieuw wordt opgestart, moet de taak worden uitgevoerd om 03.05 uur of meer.

** As defined by START_HOURS_RANGE
^^ As defined by FIELD_TWO (i.e. the 5 after the 1 in the cron.daily line)
++ plus a random time between 0 and 45 minutes as defined by RANDOM_DELAY

Referentie: http://linux.die.net/man/5/anacrontab


38
2017-10-29 21:20





Voor SuSE-systemen (met name SLES 11.1 en openSuSE 10.3) wordt de dagelijkse uitvoeringstijd van de /etc/cron.daily-scripts bepaald door de waarde van de DAILY_TIME variabele ingesteld in de / Etc / sysconfig / cron het dossier.

Als de variabele DAILY_TIME niet is ingesteld, is deze standaard ingesteld op: (tijdstip van laatste start + 15 minuten).


12
2017-08-16 03:18



heel erg bedankt! SuSE is nogal ondoorzichtig voor mij en ik waardeer uw antwoord. - dr0i


Op Ubuntu vindt u een bestand / etc / crontab, van waaruit dit is geconfigureerd. Ik denk dat het iets vergelijkbaars is op RH en Centos.


9
2018-04-26 15:33



Dit is het juiste bestand voor Ubuntu Lucid 10.04 LTS. Mijn standaardinstelling is 18:25 uur voor cron.daily. - geekQ
Nog steeds ingesteld om 6:25 uur op Ubuntu 15.04. Maar ik merk dat cron wat willekeur moet invoegen in de tijd dat het de taken start. Kijkend naar de tijdstempels van de bestanden die mijn dagelijkse baan creëert, zie ik op sommige dagen al om 06:26 uur en op andere dagen pas om 08:04 uur. - Stéphane
Nog steeds ingesteld om 6:25 uur op Ubuntu 16.04 - Elk uur om 17 minuten over uur. Dagelijks om 06:25 uur. Wekelijks om 6.47 uur op zaterdag. Maandelijks om 06:52 eerste dag van de maand. - WinEunuuchs2Unix


CentOS6.x / RedHat6.x installeert standaard het pakket cronie-anacron. U moet:

yum install cronie-noanacron

yum wis cronie-anacron

Dan hebt u nu /etc/cron.d/dailyjobs om de beste planningstijd voor uw dagelijkse, wekelijkse en maandelijkse taken te configureren.


4
2017-08-29 19:50



Als anacron is geïnstalleerd, kunt u dan niet / etc / anacrontab zoals met andere opmerkingen hier bewerken in plaats van het te verwijderen? - cincodenada
@cincodenada Dat is niet wat Daniel Stantos suggereert. - mikemaccana


Ik gebruik Slackware (14.0) en had dit niet /etc/crontab. Ook, anacron maakt geen deel uit van de distributie.

De oplossing op mijn systeem was net zo eenvoudig als draaien crontab -l als root:

root@flea:~# crontab -l
# If you don't want the output of a cron job mailed to you, you have to direct
# any output to /dev/null.  We'll do this here since these jobs should run
# properly on a newly installed system.  If a script fails, run-parts will
# mail a notice to root.
#
# Run the hourly, daily, weekly, and monthly cron jobs.
# Jobs that need different timing may be entered into the crontab as before,
# but most really don't need greater granularity than this.  If the exact
# times of the hourly, daily, weekly, and monthly cron jobs do not suit your
# needs, feel free to adjust them.
#
# Run hourly cron jobs at 47 minutes after the hour:
47 * * * * /usr/bin/run-parts /etc/cron.hourly 1> /dev/null
#
# Run daily cron jobs at 4:40 every day:
40 4 * * * /usr/bin/run-parts /etc/cron.daily 1> /dev/null
#
# Run weekly cron jobs at 4:30 on the first day of the week:
30 4 * * 0 /usr/bin/run-parts /etc/cron.weekly 1> /dev/null
#
# Run monthly cron jobs at 4:20 on the first day of the month:
20 4 1 * * /usr/bin/run-parts /etc/cron.monthly 1> /dev/null

4
2018-03-12 21:50





Van /etc/anacrontab op mijn Ubuntu 9.10-systeem:

1       5       cron.daily       nice run-parts --report /etc/cron.daily
7       10      cron.weekly      nice run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly nice run-parts --report /etc/cron.monthly

3
2018-04-26 15:54





Er is geen dergelijke faciliteit voor zover het Solaris betreft. Gebruik gewoon gewone crontab-items voor dagelijkse taken.


2
2018-04-26 15:52





OpenSuse 42.x update:

/ etc / crontab toont een bestand / usr / lib / cron / run-crons dat verondersteld wordt om de 15 minuten te draaien.

/ usr / lib / cron / run-crons op zijn beurt (heeft mogelijk regels code) die op zoek is naar een variabele met de naam DAILY_TIME in / etc / sysconfig / cron

Het bestand toont;

# At which time cron.daily should start. Default is 15 minutes after booting
# the system. Example setting would be "14:00".
# Due to the fact that cron script runs only every 15 minutes,
# it will only run on xx:00, xx:15, xx:30, xx:45, not at the accurate time
# you set.

DAILY_TIME=""

Stel het in op de tijd die u nodig hebt en start cron opnieuw via;

systemctl restart cron.service

0
2017-08-20 15:05