今天写了个脚本,要写进crontab做定时任务,每5分钟跑一遍。关于crontab的介绍呢,请大家移步www.baidu.com,在这里我就不仔细介绍了。可以搜索一下“每天一个Linux命令”系列文章,介绍的比我要好很多。我这里只是介绍一下最简单的两种写法。

$ sudo vim /etc/crontab

打开crontab,里面的格式是酱婶的:

# m h dom mon dow user  command

简单的说,这几个参数分别是:分钟,小时,日,月,周,用户,命令。比如我的用户是apple,如果我想每天0点执行一个test.py的python脚本,可以这样写:

  * * * apple /usr/bin/python /home/apple/test.py

要注意的是,最后一个command参数中,命令和选项都需要写绝对路径

然后,还有另一种功能,比如说我这个脚本,不是每天同一时间执行的,而是每10分钟要跑一趟,那我总不能写成

 * * * * apple /usr/bin/python /home/apple/test.py
* * * * apple /usr/bin/python /home/apple/test.py
* * * * apple /usr/bin/python /home/apple/test.py
* * * * apple /usr/bin/python /home/apple/test.py
* * * * apple /usr/bin/python /home/apple/test.py
* * * * apple /usr/bin/python /home/apple/test.py

这样的吧。That's too two. too two. 兔兔。

  ←兔兔内心OS:关我屁事!

其实,只要这样写就好了:

*/ * * * * apple /usr/bin/python /home/apple/test.py

其他像crontab -e什么的我也不是很了解,就不说了。

那么,这么简单的东西,问题出在什么地方捏?问题在于我的python脚本。我知道用定时任务的时候,print是没法输出东西的,所以,我特意写了个文件,假装它是一个log。结果定时每5分钟它居然木有执行。检查了好久,还单独找其他机器做实验,都木有效果。检查了好久,连/var/log/syslog中的cron的日志都翻出来了,还是没找到问题。最后,我发现,原来是文件没有写成绝对路径,不知道写到哪里去了。

果然我还是兔兔。

  ←兔兔内心OS:再提我打你喔!

之后,问题就解决了。

。。。。。。

其实呢,还有另一种解决方式:脚本里面根本不需要写个文件输出,直接在crontab的命令中重定向到文件就好了,像这样:

*/ * * * *   apple /usr/bin/python /home/apple/anpeng/test.py > /home/apple/anpeng/aaa.log

  兔兔:。。。

我什么都没说啊!

关于crontab中的一些小问题的更多相关文章

  1. crontab中部署Python脚本注意事项

    有时候手工执行Python脚本跑的好好的,但是部署到Linux的crontab中后,就会遇到一些问题,最近终于有空整理一下这方面的内容,其实也是自己也踩了一些别人踩过的坑!这里仅仅列举个人遇到的一些小 ...

  2. [LeetCode] Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素

    Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...

  3. 数组中第K小的数字(Google面试题)

    http://ac.jobdu.com/problem.php?pid=1534 题目1534:数组中第K小的数字 时间限制:2 秒 内存限制:128 兆 特殊判题:否 提交:1120 解决:208 ...

  4. 九度OJ 1534 数组中第K小的数字 -- 二分查找

    题目地址:http://ac.jobdu.com/problem.php?pid=1534 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[ ...

  5. 计算序列中第k小的数

    作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4046399.html 使用分治算法,首先选择随机选择轴值pivot,并使的序列中比pivot ...

  6. crontab 中 python(cx_Oracle)脚本执行时需要用户环境变量,怎么办??

    import cx_Oracle Traceback (most recent call last): File "", line 1, in ? ImportError: lib ...

  7. 九度OJ 题目1534:数组中第K小的数字(二分解)

    题目链接:点击打开链接 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6 ...

  8. crontab中使用mysql问题

    第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4列月1-12第5列星期0-6(0表示星期天)第6列要运行的命令 ,  并列 -  连续 crontab中不能执行mysql,百分之 ...

  9. 笔试题&面试题:找出一个数组中第m小的值并输出

    题目:找出一个数组中第m小的值并输出. 代码: #include <stdio.h> int findm_min(int a[], int n, int m) //n代表数组长度,m代表找 ...

随机推荐

  1. [译]用R语言做挖掘数据《三》

    决策树和随机森林 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到 ...

  2. Unity 动态加载资源的方式。

    方式 特点  用法  Resource.load  安装包会比较大  在Asset文件夹下建一个Resources命名的文件夹,在打包安装包时会把 Resources文件夹下的所有文件都打包进去,不管 ...

  3. select2 下拉搜索 可编辑可搜索 / 只可搜索

    官网 (http://select2.github.io/examples.html) <!--引入select2需要的文件--> <script type="text/j ...

  4. 常用JS、jquery 命令(不断更新中)

    设置用户粘贴板中的文本信息:window.clipboardData.setData('Text', location.href); 获取用户粘贴板中的文本信息: window.clipboardDa ...

  5. jQuery事件篇---过滤选择器 & 表单选择器

    内容提纲: 过滤选择器 1.基本过滤器 2.内容过滤器 3.可见性过滤器 4.子元素过滤器 5.其他方法 表单选择器 6.常规选择器 7.表单选择器 8.表单过滤器 发文不易,转载请注明出处! 过滤选 ...

  6. 【7】.net WebAPI Owin OAuth 2.0 密码模式验证实例

    1.OAuth密码模式 2.在VS中创建WebAPI项目 在nuget中安装: Microsoft.AspNet.WebApi.Owin Microsoft.Owin.Host.SystemWeb 这 ...

  7. 二:Bootstrap-css组件

    Glyphicons 图标: span.glyphicon glyphicon-align-center 下拉菜单: div.dropdown/div.btn-group button[data-to ...

  8. Redis教程基本命令

    Redis是什么? Redis(REmote DIctionary Server)是一个key-value存储系统,能够高速存储数据,value值可以为字符串.哈希表.列表.集合.有序集合,位图,hy ...

  9. 第一天-python基础

    每一个今天的坚持都会改变明天的自己! 一.python介绍 python是一门由解释型.弱类型的高级开发编程语言,由龟叔于1989圣诞开发出,后经过二十多年的发展,因其简洁高效的特点而被广泛使用,在世 ...

  10. UOJ#347. 【WC2018】通道(边分治)

    传送门 就是求两个点 \(a,b\) 使得 \(dis_1(a,b)+dis_2(a,b)+dis_3(a,b)\) 最大 step1 对第一棵树边分治 那么变成 \(d_1(a)+d_1(b)+di ...