前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用crontab运行定时任务

用crontab运行定时任务

作者头像
机械视角
发布2019-10-23 11:10:45
6100
发布2019-10-23 11:10:45
举报
文章被收录于专栏:TensorbytesTensorbytes

以一个Python项目的定时任务为例:

先写好一个run.sh脚本:

代码语言:javascript
复制
#!/bin/bash
/bin/echo "the script start `date`" >> /home/shikanon/log/log.txt
source venv/bin/activate
python getMinuteData.py

然后编写crontab文件,crontab文件结构如下:

代码语言:javascript
复制
# 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文件:

代码语言:javascript
复制
> vim getData.cron
> 0 16 * * * /home/shikanon/download/getData/run.sh

表示每天16点运行一次/home/shikanon/download/getData/run.sh命令

创建任务crontab getData.cron 查看用户所有任务crontab -l 删除当前用户所有任务crontab -r 编辑当前用户下的任务crontab -e,当结束编辑离开时,编辑后的文件将自动安装。

更多例子:

(注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。)

每天早上6点执行一次

代码语言:javascript
复制
> 0 6 * * * echo "hello world" >> /tmp/test.txt

每两个小时执行一次

代码语言:javascript
复制
> 0 */2 * * * echo "hello world" >> /tmp/test.txt

23点到8点之间每两个小时执行一次

代码语言:javascript
复制
> 0 23-7/2 * * * echo "hello world" >> /tmp/test.txt

23点到8点之间每两个小时执行一次,同时8点执行一次

代码语言:javascript
复制
> 0 23-7/2,8 * * * echo "hello world" >> /tmp/test.txt

每个月的4号11点执行一次,同时每个周的周一到三11点执行一次

代码语言:javascript
复制
> 0 11 4 * 1-3 echo "hello world" >> /tmp/test.txt

每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行一次

代码语言:javascript
复制
> 5,15,25,35,45,55 16,17,18 * * * echo "hello world" >> /tmp/test.txt
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档