Cron.daily'de her sabah belirli bir saatte çalışan bir senaryom var. Çalıştığı zamanı değiştirmem gerekiyor.
Cron.daily komut dosyalarını çalıştırma süresini nasıl değiştirebilirim?
Cron.daily'de her sabah belirli bir saatte çalışan bir senaryom var. Çalıştığı zamanı değiştirmem gerekiyor.
Cron.daily komut dosyalarını çalıştırma süresini nasıl değiştirebilirim?
Yanıtlar:
Red Hat 5 veya daha eski sürümlerde bu kontrol edilir /etc/crontab
.
Daha yeni sürümler kullanılır /etc/anacrontab
. Varsayılan olarak, cron.daily
komut dosyaları 4:02'de çalıştırılır. Düzenleme /etc/crontab
o zamanı değiştirir.
# 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
Debian / Ubuntu sistemlerinde bu da kontrol /etc/crontab
edilir.
Örneğin; varsayılan bir Ubuntu 12.04 kurulumu:
# /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
# and files in /etc/cron.d. These files also have username fields,
# 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
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Her iki durumda da, hangi sözdiziminin kullanılacağı hakkında daha fazla ayrıntıyı burada bulabilirsiniz: http://linux.die.net/man/5/crontab veya man 5 crontab
hemen hemen her Linux sisteminde çalışarak.
RHEL / CentOS 6 ve üzeri
# /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
OpenSUSE üzerinde crontab şöyle görünür:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
run-crons
Komut içinde dosyaların zaman doğrular /var/spool/cron/lastrun
diğer şeyler arasında. Son yürütme işleminden bu yana geçen süre cron dosyasını yeniden çalıştıracaktır.
Zaman, dosyaya dokunarak etkilenebilir. Örneğin, 2012-11-17 03:15 olarak ayarlamak için:
touch -t 201211140315 /var/spool/cron/lastrun/cron.daily
Hat orada olmasaydı, bu hiçbir şeyi çözmez.
İle cron.daily nerede belirtilir bulmaya çalışın
grep -R cron.daily /etc
Sonra oradan alın.
İki şey yapmak istiyorsunuz:
00 10 * * * /path/to/script
sudo systemctl restart cron.service
değiştirdikten sonra gerçekleştirmeyi unutmayın . Bu,systemd
modern Debian ve Ubuntu gibi tabanlı sistemler için geçerlidir .