讓一個(gè)腳本自動(dòng)定時(shí)運(yùn)行,設(shè)置、啟動(dòng) linux定時(shí)腳本 (crontab詳解)
[root@test1 init.d]# crontab -e
在root文件后面添加一行(含義:每月的18日4:40分執(zhí)行scott_select.sh)
40 4 18 * * /oracle_backup/bin/scott_select.sh
0 0 23 * * /patch to tranferfiles.sh >;tranferfiles.log
設(shè)置完了之后不要忘了,啟動(dòng)定時(shí)服務(wù)(大多數(shù)忘了這里 )
[root@test1 init.d]# service crond stop
[root@test1 init.d]# service crond start
或者
/etc/init.d/crontab start
備注:
crontab命令的功能是在一定的時(shí)間間隔調(diào)度一些命令的執(zhí)行。 在/etc目錄下有一個(gè)crontab文件,這里存
放有系統(tǒng)運(yùn)行的一些調(diào)度程序(還有cron.d/ cron.deny cron.monthly/ cron.weekly/
cron.daily/ cron.hourly/ crontab) 。 每個(gè)用戶可以建立自己的調(diào)度crontab(/var/spool/cron 每個(gè)用戶的文件以自己的名字命名 crontab -u someone -e) 。
crontab命令有三種形式的命令行結(jié)構(gòu):
crontab [-u user] [file]
crontab [-u user] [-e|-l|-r]
crontab -l -u [-e|-l|-r] 第一個(gè)命令行中,file是命令文件的名字。如果在命令行中指定了這個(gè)文件
,那么執(zhí)行crontab命令,則將這個(gè)文件拷貝到crontabs目錄下;如果在命令行中沒有制定這個(gè)文件,
crontab命令將接受標(biāo)準(zhǔn)輸入(鍵盤)上鍵入的命令,并將他們也存放在crontab目錄下。
命令行中-r選項(xiàng)的作用是從/var/spool/cron/crontabs目錄下刪除用戶定義的文件crontab;
命令行中-l選項(xiàng)的作用是顯示用戶crontab文件的內(nèi)容。
使用命令crontab -u user -e命令編輯用戶user的cron(c)作業(yè)。用戶通過編輯文件來增加或修改任何作
業(yè)請(qǐng)求。
執(zhí)行命令crontab -u user -r即可刪除當(dāng)前用戶的所有的cron作業(yè)。
作業(yè)與它們預(yù)定的時(shí)間儲(chǔ)存在文件/var/spool/cron/crontabs/username里。username使用戶名,在相應(yīng)
的文件中存放著該用戶所要運(yùn)行的命令。命令執(zhí)行的結(jié)果,無論是標(biāo)準(zhǔn)輸出還是錯(cuò)誤輸出,都將以郵件形
式發(fā)給用戶。文件里的每一個(gè)請(qǐng)求必須包含以spaces和tabs分割的六個(gè)域。前五個(gè)字段可以取整數(shù)值,指
定何時(shí)開始工作,第六個(gè)域是字符串,稱為命令字段,其中包括了crontab調(diào)度執(zhí)行的命令。
第一道第五個(gè)字段的整數(shù)取值范圍及意義是:
0~59 表示分
1~23 表示小時(shí)
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
/usr/lib/cron/cron.allow表示誰能使用crontab命令。如果它是一個(gè)空文件表明沒有一個(gè)用戶能安排作
業(yè)。如果這個(gè)文件不存在,而有另外一個(gè)文件/usr/lib/cron/cron.deny,則只有不包括在這個(gè)文件中的用
戶才可以使用crontab命令。如果它是一個(gè)空文件表明任何用戶都可安排作業(yè)。兩個(gè)文件同時(shí)存在時(shí)
cron.allow優(yōu)先,如果都不存在,只有超級(jí)用戶可以安排作業(yè)。