cron.daily
(Ve .weekly
ve .hourly
) girişleri ne zaman çalışır ve yapılandırılabilir mi?
Buna kesin bir cevap bulamadım ve bir tane olduğunu umuyorum.
RHEL5 ve CentOS 4 kullanıyorum, ancak diğer dağıtımlar / platformlar için de harika olurdu.
cron.daily
(Ve .weekly
ve .hourly
) girişleri ne zaman çalışır ve yapılandırılabilir mi?
Buna kesin bir cevap bulamadım ve bir tane olduğunu umuyorum.
RHEL5 ve CentOS 4 kullanıyorum, ancak diğer dağıtımlar / platformlar için de harika olurdu.
Yanıtlar:
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ışıyor.
CentOS 4.8’de aynı
grep run-parts /etc/crontab
, bu dizinlerin her biri için çalışma parçalarının ne zaman çağrılacağına ilişkin talimatları bulur.
Man sayfasından:
Cron also searches for /etc/anacrontab
/etc/anacrontab
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
CentOS 6
. Teşekkürler.
CentOS 6 için, grep / etc / anacrontab komutunu vermeniz gerekir ve sunucu / dizüstü bilgisayar / masaüstü / vb. Kapatılıp kapatılmadığının cevabı değişir.
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
Öyleyse, 03:00 ile 10:00 arasında (yeniden başlattıktan sonra ve makine 5 dakika kadar çalıştıktan sonra ^^), /etc/cron.daily komutunu çalıştırın. Yeniden başlatma yoksa, iş 03:05 ++'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
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 , / etc / sysconfig / cron dosyasında ayarlanan DAILY_TIME değişkeninin değeri tarafından kontrol edilir .
DAILY_TIME değişkeni ayarlanmadıysa, varsayılan olarak: (son önyükleme zamanı + 15 dakika).
Ubuntu'da, yapılandırıldığı yerden / etc / crontab dosyasını bulacaksınız. Sanırım RH ve Centos'ta benzer bir şey.
CentOS6.x / RedHat6.x varsayılan olarak cronie-anacron paketini kurar. Yapman gerek:
yum yüklemek cronie-noanacron
yum silmek cronie-anacron
Ardından, günlük, haftalık ve aylık işleriniz için en iyi zamanlamayı yapılandırmak üzere /etc/cron.d/dailyjobs'a sahipsiniz.
Slackware (14.0) kullandım ve kullanmıyordum /etc/crontab
. Ayrıca, anacron
dağıtımın bir parçası değil.
Sistemimdeki çözüm crontab -l
kök kadar basitti :
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
Gönderen /etc/anacrontab
benim Ubuntu 9.10 sistemde:
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
OpenSuse 42.x Güncellemesi:
/ etc / crontab, her 15 dakikada bir çalışması gereken / usr / lib / cron / run-crons dosyasını gösterir.
/ usr / lib / cron / run-crons (sırayla bazı kod satırlarına sahip olabilir) / da / etc / sysconfig / cron içinde DAILY_TIME adında bir değişken arıyor
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 yeniden başlatın;
systemctl restart cron.service