关键词:linux python脚本 定时执行
通过crontab调度脚本时脚本使用的环境变量与直接在shell中运行脚本时使用的环境变量不同(因为crontab并不知道你所使用的shell,只是简单的设置了HOME、LOGNAME、SHELL和有限的PATH等环境变量),因而可能导致“XXX command not find”的错误或者运行结果不一致的情况。
解决:
在linux系列中,常常通过crontab命令来维护crontab文件,从而达到提交计划作业的目的。在介绍crontab命令之前,我们先来了解下crontab文件中每个条目中各个域的格式和意义。
crontab每个条目都有6个域,分别对应6列,从左到右依次为第1列,第2列...第6列。下面是这些域的详细介绍:
第1列:分钟 1~59
第2列:小时 1~23
第3列:日期 1~31
第4列:月份 1~12
第5列:星期 0~6(0表示星期日)
第6列:要运行的命令
在前5列中,可以用减号"-" 表示范围;用逗号","表示或;用星号"*"表示连续的时间,如果对某域没有特别的限制,该域也需要填入星号"*"。"*/5" 这样格式表示每5分钟[小时,天等]。每列之间要用空格隔开。请参考下面的列子:
58 12 * * * /apps/bin/task.sh
每天12:58运行脚本task.sh
59 23 1,10,20 * * /apps/bin/backup.sh
每月1,10,20日的23:59分运行脚本backup.sh
30 12 * * 6,0 /bin/find -name "log" -exec rm {} \;
每个周六周日的12:30执行命令
0,30 18-23 * * * /apps/bin/check.sh
每天的18点到23点,每隔30分钟执行脚本check.sh
*/3 * * * * /apps/bin/mysqlmonitor >> /tmp/mysqlmonitor.log
每3分钟执行脚本
了解了crontab文件格式的意义,我们开始介绍怎么使用crontab
1、创建crontab文件
a:创建作业内容文件
[root@localhost ~]$ cat > mycron
*/2 * * * * /bin/echo `date` > /dev/console
输入上面的内容,然后摁ctrl+d保存文件mycron
b:提交作业文件mycron
crontab mycron
2、列出crontab文件内容
crontab -l
3、删除crontab文件
crontab -r
3、编辑crontab文件
crontab -e
引用:http://www.2cto.com/os/201401/273003.html; http://blog.csdn.net/love__coder/article/details/6890997