1.如何設(shè)置定時(shí)任務(wù)?
執(zhí)行命令:crontab -e
打開如下文件,修改后保存即可
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
定時(shí)任務(wù)的語法如下:
minute hour day month week command
其中:
minute: 表示分鐘,可以是從0到59之間的任何整數(shù)。
hour:表示小時(shí),可以是從0到23之間的任何整數(shù)。
day:表示日期,可以是從1到31之間的任何整數(shù)。
month:表示月份,可以是從1到12之間的任何整數(shù)。
week:表示星期幾,可以是從0到7之間的任何整數(shù),這里的0或7代表星期日。
command:要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件。
在以上各個(gè)字段中,還可以使用以下特殊字符:
星號(hào)(*):代表所有可能的值,例如month字段如果是星號(hào),則表示在滿足其它字段的制約條件后每月都執(zhí)行該命令操作。
逗號(hào)(,):可以用逗號(hào)隔開的值指定一個(gè)列表范圍,例如,“1,2,5,7,8,9”
中杠(-):可以用整數(shù)之間的中杠表示一個(gè)整數(shù)范圍,例如“2-6”表示“2,3,4,5,6”
正斜線(/):可以用正斜線指定時(shí)間的間隔頻率,例如“0-23/2”表示每?jī)尚r(shí)執(zhí)行一次。同時(shí)正斜線可以和星號(hào)一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次。
2.為什么設(shè)置腳本后,腳本執(zhí)行不正確?
由于crontab的執(zhí)行時(shí)在一個(gè)單獨(dú)的命令行執(zhí)行的,所以環(huán)境變量并不是shell默認(rèn)的環(huán)境變量。
如果不在編輯的內(nèi)容中,增加環(huán)境變量的設(shè)置,例如python xx.py這樣的命令,是無法正確執(zhí)行的。
3.如何設(shè)置crontab的編輯器?
有時(shí)候在linux上執(zhí)行crontab -e時(shí),打開的編輯器不是vi,不熟悉的同學(xué),簡(jiǎn)直無法編輯。如何修改呢?
設(shè)置如下環(huán)境變量即可:
export EDITOR=vi
如果希望永久保存,將上面的命令,寫到/etc/profile就好了,后續(xù)打開命令行默認(rèn)就會(huì)導(dǎo)入。