Linux ҦʩROإ
wA@As峹аѦ o
̪sG2002/05/30
OҦʩROH
Linux tΪҦʩROH
Ȱ@u@Ƶ{G at
`檺ҦʩROG crontab
tΪ crontab ]wG /etc/crontab
w@G /var/log/cron O
Dm

OҦʩROH
CӤHΦhΤֳ@Ǭ|Ϊ̬Ou@Au@OҦʪAҦpC~@[~BCӤ@u@iBCg@\|BCѻݭndFu@hO{ɵoͪAҦpn`qxӳXAݭnAdzƺtIΦbͬWAҦpC~RHͤBCѪ_ɮɶB٦oʪqj]ڵn[F^oCoǤu@iH٬ҦʩROAӳoǤu@ Linux ]iHzAҦpGC@ѦW 8:00 nAsWTAñҰʭ֨ӳA_ɡFӤ 12:00 Ʊ Linux iHo@ʫHAlHcAAiHhY\FFt~AbC~ARHͤ骺e@ѡAoʫHAAHKѰOo򭫭n@ѡC
qWiHܲMo{ؤu@Ƶ{觋G b Linux UpFoӥ\OHINoϥ at P crontab oӦnFoI Uڭ̥ӽͤ@ Linux tΨ쩳bƱA򦳭Yzhu@Ƶ{bu@OHMA^ӽͤ@ at P crontab oӦnFI

Linux tΪҦʩRO
nFAAۤvҦʩROnӧ@rIHLinux u@ih۩OIѫe쪺Xg峹Aڭ̪DLinux bIUu@iOܦhAרO}񪺱pUAإ߻PsuBMySQL ƮwYɧsBHΤ@ǨҦ檺tΫOAҦpO骺u@CѩҦ檺u@D`hAbiCѳn޲zӤʿJaIҥH~|إ߳oӤu@Ƶ{ݨDI򥻹w]u@UoǡG Linux w]Ҧu@ܤִNoǤFAA[WzVO Linux iu@Ƶ{]pAKKICѪu@qiO۷jOI

Ȱ@u@Ƶ{
pGȭn@u@ANϥ at oӫOaIoӫONO atd oӪAȰաIҥHаOo@wnҰʳoӪAIpGOb Red Hat tΤUAiHϥΡG
  1. ntsysv
  2. atd
  3. U OK I
pGOb Mandrake tΤUAiHϥΡG
  1. chkconfig --add atd
  2. chkconfig --list

  3. WoӫOiHd atd b run-level TpAO_|b}ɭԳQҰʡI
򥻤WA atd Ow]}ҪApGzSʹLtιw]ȪܡAWʧ@NݭnoIUF at oӰʧ@|Nu@Ƶ{gJ /var/spool/at oӥؿUOIMᵥݨtαNoI~Ao at OMw]OҦHiAOiHg root WdӭϥΪHfCkP /etc/hosts.allow(deny) Aϥ /etc/at.allow(deny) oɮרӭG nFIڭ̨ӽͤ@ at ykaI
 
[test @test test]# at [-m] TIME@@@@(UFu@O)
[test @test test]# atq@@@@@@@@ (dݥثeu@Ƶ{)
[test @test test]# atrm [jobnumber]@@(RƵ{)
ѼƻG
-m    G at ҳWdu@Ƶ{ɡANùXG mail UFOϥΪ
TIME  Gɶ榡AUXӡG
@@@HH:MM YYYY-MM-DD@@@@@@@@@@@ @ex> 04:00 2002-05-30 (TQ|I)
@@@HH[pm;am] + number [hours;days;weeks]@@ex> 4pm + 3 days (bL 3 ѪU 4 I)
@@@HH:MM@@@@@@@@@@@@@@@@@@ex> 12:00 (Ѫ 12 I)
@@@HH[pm;am] [Month] [Day]@@@@@@@@@ex> 1pm May 30
jobnumberGC@ at u@Ƶ{sƪǡIoӧYOI
dҡG

[test @test test]# at 5pm   <==bѪ 5pm ApGѤwL 5 IhѰF
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> mail -s test test < /home/test/.bashrc <==oNOڪu@I
at> <EOT> <==o̬OU [Ctrl] + D NiH}FI
job 8 at 2002-05-30 17:00  <==o̷|iDAoӤu@X 8 A檺᭱ҥܡC

[test @test test]# atq   <==s@UA(test)ثeh֤u@H
5       2002-05-30 12:00 a test
8       2002-05-30 17:00 a rest

[test @test test]# atrm 5<==R 5 u@
[test @test test]# atq
8       2002-05-30 17:00 a rest

Ъ`NIb at UFAKiJOCUFҦIbo̧AiHƪJOAO}ɭԽФUFy [Ctrl] + D zNiH}FI}Atη|iDAoӤu@Ƶ{XPϥΪ̬O֡II²aI


`檺ҦʩRO
oӴ`ҦʩRONO cron oӪAȰ (crond)IAUF crontab OA|NAROgJ /var/spool/cronoӥؿIҦp test UFFL crontab ROAN|۰ʲ /var/spool/cron/test oɮסIyЪ`NAoɮפઽsIzM檺OO|mb /var/log/cron oɮפIҥHAypGz Linux tΤDO_Q차JIɡAiHjM@U /var/log/cron oӰOסAݬݦSQdHz
nFIڭ̨Ӭݤ@U crontab OykaI
 
[test @test test]# crontab [-u user] [-l | -e | -r]
ѼƻG
-u user Gu root UFѼơAνsĶLϥΪ̪ crontab e
-l      GCX crontab e
-e      Gs crontab e
-r      GR crontab e
dҡG
@ϥΪ test nbCѪ 12:00 oHۤvG

[test @test test]# crontab -e <==ۤvsۤv crontab e

iJ crontab s褺eAϥ vi I

0 12 * * * mail test < /home/test/test.txt
ɤg |========OC===============|

WҤlOGpAݭnbCѪ 12:00 o@ʫHAۤvAӥBHewggnFAn˧@OHӥBAt@Ӱ]OAAb Linux Server vȤ@ϥΪ̡AäO root ]޲z^An˳]wAҦʩROOHINϥ crontab oӫOaIAuny crontab -e zNiHiJ vi seӽsAҦʩROI

bWҤlAJ crontab -e ɡA|X{@ vi eAMAb vi eJW@rA :wq xs}IYisIeaIW@rNNqOHAiHݨAbuROe]NO mail test < /home/test/test.txt ^`@ӼƦrAoӼƦrONG
@@]0-59^
pɡ@]0-23^
@]1-31^
@]1-12^
g@@]0-6^
ƦrNNq
p
g
d
0-59
0-23
1-31
1-12
0-6 (0P)
t~ApGOy   zɭԡANҦƦrAΪNCҥHAANiHDڤW@gNqFINOyצBBPX 12 I 0 ɡA mail test < /home/test/test.txt oөROzI٤AѡHSYAڭ̳o̧@XӨҤlI
 
D@GpAkBͥͤO 5 2 AAQnb 5 1 骺 23:59 o@ʫHLA
@@@@oʫHewggb /home/test/lover.txt F

[test @test test]# crontab -e

59 23 1 5 * mail pigpp < /home/test/lover.txt

˪ܡAC~ pigpp |AoʫHI]MoAHeNnC~ܤ@ܰաI^
 
DGGpACjnh check A@ӦW test.sh 妸ɤ@AhG

[test @test test]# crontab -e

59 23 1 5 * mail pigpp < /home/test/lover.txt  <==𫍧ӫO٦sbI
*/5 * * * * /home/test/test.sh  <==s[J@ӱƵ{I

`NI crontab CӤHu@ɮסANOb /var/spool/cron ̭ɮװաI٦ƭn`N@UG
(1) O|̦nOUF|Aoˤ|䤣檺ɮ׳F
(2) Ĥ@ӼƦr */5 ܡyC@zNI
DTGpAC§PU 4:30 niDBͬP|nѰOAhG

[test @test test]# crontab -e

59 23 1 5 * mail pigpp < /home/test/lover.txt 
*/5 * * * * /home/test/test.sh
30 16 * * 5 mail frend@test.domain.name < /home/test/frend.txt <==s[JI

Io˫²aIpNiHFzһݭnҦʤu@Ƶ{woI
nFIڭ̭npӬdݨϥΪ̥ثe crontab u@Ƶ{OH
 
[test @test test]# crontab -l <==o -l O L pg
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.27683 installed on Thu May 30 13:38:38 2002)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
59 23 1 5 * mail pigpp < /home/test/lover.txt
*/5 * * * * /home/test/test.sh
30 16 * * 5 mail frend@test.domain.name < /home/test/frend.txt
IoܪeNO /var/spool/cron/test ɮתeաIpRƵ{OH
 
[test @test test]# crontab -r
[test @test test]# crontab -l
no crontab for test
ݨFܡH crontab yӤeFIzҥHЪ`NGypGuOnRY crontab u@ءAШϥ crontab -e ӭssYiIzpGϥ -r ѼơAO|NҦ crontab ƤeRIdU`NFI

tΪ crontab ]w
oӡy crontab -e zOwϥΪ̪ cron ӳ]pApGOytΪҦʥȡzɡAӫOHO_٬OݭnH crontab -e Ӻ޲zAҦʩROOHMݭnAAuns /etc/crontaboɮ״NiHաI@IݭnSO`NINO crontab -e o crontab O /usr/bin/crontab oӰɡAO /etc/crontab iO@ӡy¤rɡzIAiH root s@Uoɮ׭I
򥻤WA cron oӪAȪ̧COyzAҥHy cron |ChŪ@ /etc/crontab P /var/spool/cron ̭ƤezA]AunAs觹 /etc/crontab oɮסAåBNLxsAI crontab ]wN۰ʪ|ӰFI
`NGb Linux U crontab |۰ʪڭ̨CsŪ@ /etc/crontab Ҧu@ƶAOYǭ]Ϊ̬OL Unix tΤAѩ crontab OŪOAҥHbAק粒 /etc/crontab Aiä|WAoӮɭԽЭsҰ crond oӪAȧaI
/etc/rc.d/init.d/crond restart
nFAڭ̨Ӭݬ /etc/crontab oɮתeaG
 
[root@test /root]# vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01  * * * * root    run-parts /etc/cron.hourly   <==Cpɰ檺u@
02  4 * * * root    run-parts /etc/cron.daily   <==C 檺u@
22  4 * * 0 root    run-parts /etc/cron.weekly  <==CP檺u@
42  4 1 * * root    run-parts /etc/cron.monthly  <==CӤ檺u@
ɤg ϥΪ    Ѽ     O

ݨoɮתeAjNAѤFaIASIoɮ׻PNڭ̤UF crontab -e eXG@Ҥ@ˡIuOXӦa褣ӬۦPG

w@
Dm ( nݵ׽бNƹʨyGzUťճBAUťճBYi )
2002/05/30GĤ@
2003/02/10GssƻP[J FAQ