Soru Cron.daily ne zaman çalışır?


Girişler ne zaman yapılır? cron.daily (ve .weekly ve .hourly) çalıştırın ve yapılandırılabilir mi?

Buna kesin bir cevap bulamadım ve bir tane olduğunu umuyorum.

RHEL5 ve CentOS 4'ü kullanıyorum ama diğer dağıtım / platformlar için de harika olurdu.


178
2018-04-26 15:31


Menşei


üzerinde NetBSDgünlük, haftalık, aylık cronjobs için zaman kökün crontab ayarlanır. - hd1
Soru daha genel olacak şekilde düzenlendiyse, bu soru daha yararlı olacaktır. En azından, redhat'ın tüm sürümleri için jenerik sorusunu, yalnızca 4 ve 5 versiyonları yerine (yaygın olarak kullanılmayan ve olmayan) centos distros'unu yapalım.üretim sonu" (benzer hayatın sonu). - Trevor Boyd Smith
@TrevorBoydSmith - bu soru yaklaşık 8 yıl önce soruldu. Daha yeni sürümler için güncellenmiş birini sormaktan çekinmeyin. Ama RHEL 6 yoktu bileNisan 2010'da: access.redhat.com/articles/3078#RHEL6 - warren
@warren niyetim eleştirmek değil, sadece soru ve genel olarak stackoverflow geliştirmektir. (Soruyu sorduğumda RHEL 6'nın var olmadığını anlıyorum. Çünkü soru şu anda çok fazla upvot'a sahipti, şimdi daha genel olması güzel olurdu.) - Trevor Boyd Smith
@TrevorBoydSmith .. CentOS / RHEL 6 için bir cevap var zaten :). Eğer bazı fikirleriniz varsa, sizden iyi düzenlemeleri onaylamaktan mutluluk duyarım. Devam et ve düşündüğün soruya önerilen düzenlemeler yap - warren


Cevaplar:


Bahsettiğiniz dağıtımlar için:

CentOS 5.4'te (RHEL5 için aynı olmalıdır)

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

Yani cron.daily 04:02 de çalışır.

CentOS 4.8 ile aynı


136
2018-04-26 16:23



Bunun arkasında bir sebep var mı? Sadece sunucuda en sessiz zaman olacağını söyleyebilirim. - The Pixel Developer
@ ubuntu'da kaçta çalışır? lütfen nasıl kontrol edebileceğimi söyleyebilir misin? komut çıktısını anlayamıyorum - Narendra Jaggi
@NarendraJaggi "run-parts" komutu "bu klasördeki her şeyi çalıştır" anlamına gelir. Cron.daily, vb klasörleri çalışır çünkü bu dizinlerdeki run-parçaları çalıştırmak için bir cron görevi vardır. Yani grep run-parts /etc/crontab Bu dizinlerin her biri için run-parçalarının çağrılmasıyla ilgili talimatları bulur. - Jordan Reiter
Bu artık CentOS 6 veya üstü için geçerli bir yanıt değil, daha fazla bilgi için aşağı kaydırın. - lzap


Man sayfasından:

 Cron also searches for /etc/anacrontab

/etc/anacrontab benim sistemimde (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

Ayrıca bakınız man anacrontab


63
2018-04-26 15:35



Durum böyle CentOS 6. Teşekkürler. - mbrownnyc
Bu her "1" günde 5 am anlamına mı geliyor? Üzgünüm, ama bu hiçbir şeye cevap vermiyor. - elysch
@elysch Cevabımın son satırını tekrar edeyim: Ayrıca bkz. "man anacrontab" - leonbloy
Anacron'un iyi bir açıklaması İşte. Temel olarak, anacron vardır sabit başlangıç ​​zamanı yokAncak, son işlemin belirli bir gecikmeyle kaçtığı zamana kadar süreci başlatır. İşlem bittiğinde makine kapalıysa koşmalıydımDaha sonra, makine, belirtilen gecikme sonrasında (özel aralıklar + rasgele gecikme engelleme, @ spechal ile cevaplama) sonra, makine geri geldiğinde işlemi başlatacaktır. - storm_m2138
@mbrownnyc ve ayrıca CentOS-7 de - Trevor Boyd Smith


CentOS 6 için grep / etc / anacrontab'a ihtiyacınız var ve sunucu / dizüstü bilgisayar / dekstop / etc kapalıysa cevap değişiyor.

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

Yani, 3AM ve 10 PM** saatleri arasında (yeniden başlatmadan sonra ve makine 5 dakikadan fazla sonra ^^), /etc/cron.daily dosyasını çalıştırın. Yeniden başlatma yoksa, iş 3:05 AM++ de çalışmalıdır.

** 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

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


38
2017-10-29 21:20





SuSE sistemleri için (özellikle SLES 11.1 ve openSuSE 10.3) /etc/cron.daily komut dosyalarının günlük çalışma süresi, DAILY_TIME değişken kümesi / Etc / sysconfig / cron dosya.

DAILY_TIME değişkeni ayarlanmadıysa, varsayılan değer: (son açılış zamanı + 15 dakika).


13
2017-08-16 03:18



çok teşekkürler! SuSE benim için oldukça kararsız ve cevabını takdir ediyorum. - dr0i


Ubuntu'da, yapılandırıldığı yerden / etc / crontab dosyasını bulabilirsiniz. RH ve Centos'ta benzer bir şey sanırım.


9
2018-04-26 15:33



Bu Ubuntu Lucid 10.04 LTS için doğru dosyadır. Varsayılan ayarım cron.daily için 6:25 am. - geekQ
Hala Ubuntu 15.04 tarihinde saat 06:25 olarak ayarlandı. Fakat cronun işleri başladığında bazı rastgelelikler eklemesi gerektiğini fark ettim. Günlük işimin yarattığı dosyaların zaman damgalarına baktığımda, bazı günlerde 6:26 gibi erken saatlerde, diğerlerinde ise 8:04 gibi geçtiğini görüyorum. - Stéphane
Hala Ubuntu'da saat 06:25 'de saat 16.04'da - Saat başı saat 17'de geçiyor. Her gün 06:25. Haftada cumartesi günü 06:47. Aylık ayın ilk günü saat 06: 52'de. - WinEunuuchs2Unix


CentOS6.x / RedHat6.x varsayılan olarak paket cronie-anacron'u yükler. Yapman gerek:

yum cronie-noanacron yükleyin

yum cronie-anacron sil

Daha sonra, günlük, haftalık ve aylık işleriniz için en uygun zamanlamayı yapılandırmak için şimdi /etc/cron.d/dailyjobs adresine sahipsiniz.


4
2017-08-29 19:50



Eğer anacron kurulursa, / etc / anacrontab'ı buradan kaldırmak yerine diğer yorumlara göre düzenleyemez misiniz? - cincodenada
@cincodenada Bu Daniel Stantos'un önerdiği şey değil. - mikemaccana


Slackware (14.0) kullanıyorum ve yoktu /etc/crontab. Ayrıca, anacron dağıtımın bir parçası değildir.

Sistemimdeki çözüm, çalıştırıldığı kadar basitti crontab -l kök olarak:

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





itibaren /etc/anacrontab Ubuntu 9.10 sistemimde:

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





Solaris söz konusu olduğu sürece böyle bir tesis yoktur. Günlük işler için sadece düzenli crontab girişlerini kullanın.


2
2018-04-26 15:52





OpenSuse 42.x Güncellemesi:

/ etc / crontab, her 15 dakikada bir çalıştırılması gereken bir dosya / usr / lib / cron / run-crons gösterir.

/ usr / lib / cron / run-crons sırayla / etc / sysconfig / cron içinde DAILY_TIME denen bir değişken arayan sırayla (kod satırları olabilir)

Dosya gösterir;

# 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=""

İhtiyacınız olan zamana ayarlayın ve cron'u tekrar başlatın;

systemctl restart cron.service

1
2017-08-20 15:05