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