crontab注意事项

crontab是一个系统定时器,处理很多定时的任务。使用方法(cat /etc/crontab)如下:


minute  hour  day  month  week user-name command to be executed

第一个参数是minute (0 - 59)

第二个参数是hour (0 - 23)

第三个参数是day (1 - 31)

第四个参数是month (1 - 12)

第五个参数是week(0 - 6) or (sun,mon,tue,wed,thu,fri,sat)

第六个参数是command

其中command需要的环境变量需要注意,很多时候是command自己执行没有问题,在crontab中执行就会有错误。

查看错误的方法是在command中使用2>&1,比如:

0 * * * * command > ~/cmd.log 2>&1

查看的大部分原因是环境变量的问题。这里提供一种方法,可以让环境变量在crontab中生效。

0 * * * * /bin/bash -l -c 'command'

同时需要在~/.bash_profile中增加需要的环境变量(PATH)

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/bin