ubuntu定时执行任务crontab的使用
2015-06-19 09:31
134 查看
crontab单词的意思是:定时任务。
看看百科定义[完整定义]:
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρόνος),原意是时间。
通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
有了上面的概念,再来看crontab的使用就会清晰些。
既然是系统每分钟都要检查一下,那么必然要有一个检查的依据,如配置文件或者什么的。
还是来看看百科:
crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。
crontab文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。
好了,开始使用了。估计有些人从定义就知道他要怎么用了。不过我还是想记录下。
使用步骤:
1、终端运行crontab -e [解释:编辑配置文件]
2、之后输入数字选择你要用的编辑器,一般人会选择vim。
3、此时配置文件已打开,只需要按照下面的格式写配置即可。
好吧,简单到我都觉得。。
举个例子:
在我的home目录下有一个python脚本,cron.py
我想要这个脚本在每天的早上7点30执行。
因此这个 任务的crontab配置文件就是:
简单解释下,这个配置的意思就是在每天的7:30用python运行我的家目录下的testcrontab.py文件,并将输出内容输出到testcrontab.log中,后面那个2>&1的意思是把错误的输出也输出到标准输出(2表示错误,2>表示错误输出,&表示等同于,1表示正确),因此如果运行出错也会把错误输出到之前定义的log中。
另外关于合适执行命令还有些要说。
上面只是定时几点执行,那么我怎么设置它按照某一频率执行。比如每分钟执行依次。
对应的配置就是
再来一个场景,我想在每天的早上六点到八点之间,每隔3分钟执行一次的配置怎么写:
到此应该都会使用了吧,五个星号表示不同的执行单位(分、时、日、月、年),而那个反斜线表示频率。
看看百科定义[完整定义]:
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρόνος),原意是时间。
通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
有了上面的概念,再来看crontab的使用就会清晰些。
既然是系统每分钟都要检查一下,那么必然要有一个检查的依据,如配置文件或者什么的。
还是来看看百科:
crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。
crontab文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。
好了,开始使用了。估计有些人从定义就知道他要怎么用了。不过我还是想记录下。
使用步骤:
1、终端运行crontab -e [解释:编辑配置文件]
deng@deng-Lenovo:~$ crontab -e no crontab for deng - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/ed 2. /bin/nano <---- easiest 3. /usr/bin/vim.basic 4. /usr/bin/vim.tiny
2、之后输入数字选择你要用的编辑器,一般人会选择vim。
3、此时配置文件已打开,只需要按照下面的格式写配置即可。
好吧,简单到我都觉得。。
举个例子:
在我的home目录下有一个python脚本,cron.py
#coding:utf-8 print 'jingdong'
我想要这个脚本在每天的早上7点30执行。
因此这个 任务的crontab配置文件就是:
# m h dom mon dow command 30 7 * * * python /home/deng/cron.py >> /home/deng/cron.log 2>&1
简单解释下,这个配置的意思就是在每天的7:30用python运行我的家目录下的testcrontab.py文件,并将输出内容输出到testcrontab.log中,后面那个2>&1的意思是把错误的输出也输出到标准输出(2表示错误,2>表示错误输出,&表示等同于,1表示正确),因此如果运行出错也会把错误输出到之前定义的log中。
另外关于合适执行命令还有些要说。
上面只是定时几点执行,那么我怎么设置它按照某一频率执行。比如每分钟执行依次。
对应的配置就是
# m h dom mon dow command */1 * * * * python /home/deng/cron.py >> /home/deng/cron.log 2>&1
再来一个场景,我想在每天的早上六点到八点之间,每隔3分钟执行一次的配置怎么写:
# m h dom mon dow command */3 6-8 * * * python /home/deng/cron.py >> /home/deng/cron.log 2>&1
到此应该都会使用了吧,五个星号表示不同的执行单位(分、时、日、月、年),而那个反斜线表示频率。
相关文章推荐
- 最后一章阅读感想
- Java修饰符:public、protected、private、abstract、static和final区别
- 关于JAVA的内省JavaBean、类加载器、类加载器的委托机制以及代理
- java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)
- iOS 中KVC、KVO、NSNotification、delegate 总结及区别
- 6月18日面试总结
- IQueryable和IEnumerable的区别
- 自定义在图片上贴固定大小的图片
- 宏中的逗号
- java 计算 文件 md5
- 日经春秋 20150619
- Fragment onCreateView inflate注意事项 (整理)
- 数据结构学习之堆栈(顺序存储)
- mongodb3.0 db.addUser报错
- codeblock 插件安装
- android开发图表achartengine之饼图
- #define 详解
- c++:变量,数组和指针
- 10步成为专业iOS开发者——从零起步
- OC学习篇之---归档和解挡