cron.daily에는 매일 아침 특정 시간에 실행되는 스크립트가 있습니다. 실행 시간을 변경해야합니다.
cron.daily가 스크립트를 실행하는 시간을 어떻게 변경합니까?
cron.daily에는 매일 아침 특정 시간에 실행되는 스크립트가 있습니다. 실행 시간을 변경해야합니다.
cron.daily가 스크립트를 실행하는 시간을 어떻게 변경합니까?
답변:
Red Hat 5 이상에서는이 기능이 제어됩니다 /etc/crontab
.
최신 버전은을 사용 /etc/anacrontab
합니다. 기본적으로 cron.daily
스크립트는 4:02에 실행됩니다. 편집 /etc/crontab
하면 해당 시간이 수정됩니다.
# 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
데비안 / 우분투 시스템에서도 이것도 제어됩니다 /etc/crontab
.
예를 들어; 기본 우분투 12.04 설치 :
# /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 )
#
두 경우 모두 http://linux.die.net/man/5/crontab 에서 사용 하거나 man 5 crontab
거의 모든 Linux 시스템에서 실행 하는 구문에 대한 자세한 내용을 찾을 수 있습니다.
RHEL / CentOS 6 이상에서
# /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에서 crontab은 다음과 같습니다.
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
명령은 /var/spool/cron/lastrun
무엇보다도 파일의 타임 스탬프를 확인합니다 . 마지막 실행 이후 시간이 만료되면 cron 파일을 다시 실행합니다.
파일을 터치하면 시간에 영향을 줄 수 있습니다. 예를 들어, 2012-11-17 03:15로 설정하려면 :
touch -t 201211140315 /var/spool/cron/lastrun/cron.daily
줄이 없으면 아무것도 해결되지 않습니다.
cron.daily가 언급 된 곳을 찾아보십시오.
grep -R cron.daily /etc
그런 다음 거기에서 가져옵니다.
두 가지 일을하고 싶습니다 :
00 10 * * * /path/to/script
sudo systemctl restart cron.service
이것을 수정 한 후에 수행하는 것을 잊지 마십시오 . 이것은systemd
현대 데비안 및 우분투와 같은 기반 시스템에 해당됩니다 .