linux下可以通過配置crontab來定時執行任務,執行體可以是一條系統命令或自己寫的一個腳本,同時可以指派用戶來執行。配置crontab有兩種方法。
方法1、使用crontab命令,例如添加一個新的或編輯已有的,使用:
crontab -e
就可以進入配置文件。此時配置crontab的執行者是當前登入用戶,如果當前用戶是root,需要為其他用戶配置,可以使用
crontab -e -u 用戶名 或 su 用戶名 crontab -e
這種方法有一個缺點,就是當前系統中配置的crontab不在一個配置文件中,讓管理員不方便查詢系統到底有多少個crontab。
方法2、直接在/etc/crontab文件中添加,不過需要是root身份。打開文件,應該會看到類似下面的信息
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
要添加新的crontab,只需要在文件最后增加即可。注意這里面需要指定用戶名;而方法1中則不需要,如果指定了,它會認為是命令的一部分,從而可能導致crontab執行失敗。
如果服務器都是有root來管理,建議添加crontab使用方法2,這樣系統中的所有計划任務都在一起,一目了然。