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